【发布时间】:2012-10-22 02:20:02
【问题描述】:
我有一个问题。我需要在 txt 文件中添加一个文本行。这是我的文件:
- 000
- 001 测试1
- 002 测试2
- 003 测试3
- 004
- 005 测试4
- 006 测试5
- 007 测试6
我需要使用 bash 脚本在第 000 行和第 004 行添加文本。
我该怎么办? 谢谢大家!
【问题讨论】:
-
文件中是否确实存在数字?
标签: bash
我有一个问题。我需要在 txt 文件中添加一个文本行。这是我的文件:
我需要使用 bash 脚本在第 000 行和第 004 行添加文本。
我该怎么办? 谢谢大家!
【问题讨论】:
标签: bash
您可以使用“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”)
【讨论】:
这可以通过 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
【讨论】:
awk 'NR==1{print $0, "Foo"}NR==5{print $0, "Bar"}'
【讨论】: