我需要使用bash脚本来在第000行和第004行添加文本。
我该怎么办? 谢谢大家!
答案 0 :(得分:1)
这就是sed
和ed
实用程序的用途。他们使用相同的命令集,但有一些细微差别。主要区别在于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"}'