我正在尝试在多个文本文件中以随机行号插入字符串。在将字符串添加到文本文件之前,我想添加换行符。
例如,一个文本文件有4个段落。
paragraph 1
paragraph 2
paragraph 3
paragraph 4
我希望输出为
paragraph 1
STRING
paragraph 2
paragraph 3
paragraph 4
我的代码运行正常,但是没有在字符串之前添加空换行符。
$ for i in *.txt; do sed -i "$(shuf -n 1 -e 2 4 6)i \n\rSTRING \n\r" $i ; done
答案 0 :(得分:1)
根据GNU手册,i
命令实际上是i\
:
'i\'
'TEXT'
insert TEXT before a line.
因此n
命令会“吃掉” i
前的反斜杠。添加一个额外的反斜杠,它应该可以工作。