如何使用bash脚本在txt文件中添加文本

时间:2012-11-01 13:23:18

标签: bash

我有一个问题。我需要在txt文件中添加文本行。这是我的档案:

  • 000
  • 001 test1
  • 002 test2
  • 003 test3
  • 004
  • 005 test4
  • 006 test5
  • 007 test6

我需要使用bash脚本来在第000行和第004行添加文本。

我该怎么办? 谢谢大家!

4 个答案:

答案 0 :(得分:1)

这就是seded实用程序的用途。他们使用相同的命令集,但有一些细微差别。主要区别在于ed编辑文件并在标准输入上执行命令,而sed在命令行上执行命令并编辑标准输入的标准输入。

使用sed通常会更方便,除非你点击它不能做的东西,因为它的流媒体性质就像移动文字一样。

答案 1 :(得分:1)

您可以使用“sed”工具来实现目标。它对于操作文件非常强大。 您可以使用如下命令:

sed -i /your/file.txt -e "s/000/000'\n'YOUR_NEW_LINE/"
sed -i /your/file.txt -e "s/004/004'\n'YOUR_NEW_LINE/"

(如果我理解正确,你的文件第一行开头有“000”,第五行有“004”)

答案 2 :(得分:0)

这可以使用while / read循环在本机bash中完成:

while read num cmt; do
  if [[ -z cmt ]] ; then
    printf '%s test%s\n' "$num" "$num"
  else
    echo "$num $num"
  fi
done <infile.txt >outfile.txt

答案 3 :(得分:0)

awk 'NR==1{print $0, "Foo"}NR==5{print $0, "Bar"}'