20

当我使用终端查找过去 24 小时内完成的所有工作时,我会得到一个文本文件,其中包含如下行:

ABC 12345 工作于 DATE

DEF 67890 DATE 的另一份工作

GHI 10112 日期的最终作业

这个文本文件最多可以有一百行。我必须将所有这些数据插入 Microsoft Excel 的表格中。为了让我的生活更轻松,我想弄清楚如何在每行的数字后面添加一个标签。

像这样的东西:

echo "ABC 12345 <tab> Job Worked on DATE" >> jobs.txt
echo "DEF 67890 <tab> Another Job on DATE" >> jobs.txt
echo "GHI 10112 <tab> Final Job on DATE" >> jobs.txt

我将如何实现这一目标?

4

3 回答 3

38

使用 echo -e 和 \t 作为选项卡。像这样:

echo -e "ABC 12345 \t Job Worked on DATE" >> jobs.txt
于 2012-07-07T20:57:30.673 回答
6

您可以按下Ctrl-vTab以键入原始选项卡。


您还可以使用$'...'c-string 语法:

echo $'ABC 12345 \t Job Worked on DATE' >> jobs.txt
于 2012-07-07T20:59:44.610 回答
1

将选项卡附加到第二个字段:

awk '{$2 = $2 "\t"; print}' inputfile  > outputfile

类似,但使用正则表达式:

sed 's/[[:digit:]]\+/&\t/' inputfile > outputfile
于 2012-07-07T21:07:34.580 回答