如何在终端的文本文件中添加标签?

W3G*_*eek 18 bash shell terminal scripting

当我使用终端查找过去二十四小时内已经完成的所有工作时,我得到一个文本文件,其中包含以下行:

ABC 12345工作日期工作

DEF 67890日期的另一份工作

GHI 10112日期工作

此文本文件最多可达100行.我必须将所有这些数据插入到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
Run Code Online (Sandbox Code Playgroud)

我怎么做到这一点?

AW1*_*101 35

将echo -e与\ t一起用于选项卡.像这样:

echo -e "ABC 12345 \t Job Worked on DATE" >> jobs.txt
Run Code Online (Sandbox Code Playgroud)

  • @ W3Geek:这取决于你使用的`echo`版本.bash的内置`echo`命令识别`-e`,它可以解释某些反斜杠转义的字符,包括tab的`\ t`.但并非所有版本的`echo`都能做到这一点.`printf`命令是一个更好的选择 - 但鉴于你已经将信息作为文本,使用`sed`,`awk`或类似的东西来改造它更好. (2认同)

kev*_*kev 6

您可以按键Ctrl-vTab输入原始标签.


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

echo $'ABC 12345 \t Job Worked on DATE' >> jobs.txt
Run Code Online (Sandbox Code Playgroud)