我想在Linux中的某个行号中添加一个字符串到文件。我搜索并找到了一个命令:
sed "5i helloworld" test.txt
在第5行添加helloworld
,但收到错误:
sed:命令乱码。
似乎Solaris不支持sed选项-i
。我在这里测试RedHat。我可以在这里使用其他命令吗?还有其他方法吗?
答案 0 :(得分:2)
对于i
,a
和c
等命令的输入方式,较旧的seds有点挑剔。尝试实际的续行:
sed '5i\
helloworld' test.txt
i text
语法是GNU扩展。 POSIX sed只知道带有换行符的i\
版本。
另请注意,sed i
命令 1 (插入文字)和-i
选项之间存在差异(就地编辑)。
1 或"功能"。
答案 1 :(得分:0)
以下是awk
解决方案:
awk 'NR==5{1;print "Hey there this is new text added on line 5"}1' inputfile