如何使用bash脚本在txt文件中添加文本
我有个问题。我需要在txt文件中添加一行文本。这是我的档案:如何使用bash脚本在txt文件中添加文本,bash,Bash,我有个问题。我需要在txt文件中添加一行文本。这是我的档案: 000 001测试1 002测试2 003测试3 004 005测试4 006测试5 007测试6 我需要用bash脚本在第000行和第004行中添加文本 我该怎么办? 谢谢大家 这就是和实用程序的用途。它们使用相同的命令集,但有一些细微的区别。主要区别在于ed编辑文件并在标准输入上接受命令,而sed在命令行上接受命令并将标准输入编辑为标准输出 使用sed通常更方便,除非您遇到一些由于其流性质(如移动文本)而无法执行的操作。这可以
- 000
- 001测试1
- 002测试2
- 003测试3
- 004
- 005测试4
- 006测试5
- 007测试6
ed
编辑文件并在标准输入上接受命令,而sed
在命令行上接受命令并将标准输入编辑为标准输出
使用
sed
通常更方便,除非您遇到一些由于其流性质(如移动文本)而无法执行的操作。这可以在本机bash中通过while/read循环完成:
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
读取num cmt时;做
如果[-z cmt]];然后
printf“%s”测试%s\n“$num”“$num”
其他的
回显“$num$num”
fi
完成outfile.txt
您可以使用“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”)文件中实际有数字吗?好的,非常感谢您的工作。但我有个问题,我需要在First Black line中插入新线。我该怎么办?非常感谢gedit发布了行号,但文件中没有行号
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/"