Lun*_*nsy 4 command-line text-processing
如何在文本文件中找到一个词(例如“/dn”)并在下一行添加另一个词(例如“/period”)?
我想使用 MS DOS 执行它。
我的意思是这个“/dn”(/dn 之后是空格)是一个单词(不是文本的片段,而是整个单词——/dn 之后可以是同一行上的其他单词),然后我想找到它在它之后的下一个新行,而不是替换其他行和其他单词。我的意思是在现有行之间创建一条新行。
例如,如果我有这个输入文件:
/dn
/name
Run Code Online (Sandbox Code Playgroud)
我想要这个输出:
/dn
/period
/name
Run Code Online (Sandbox Code Playgroud)
和“/”符号应该带 dn,而不是没有它。
Rav*_*ina 10
sed附加如果你想要一个全新的一行,/period每行包含一个单词,/dn然后使用sedappend:
sed '\:\dn:a/period' filename
Run Code Online (Sandbox Code Playgroud)
您的样本的输出将是:
/dn
/period
/name
Run Code Online (Sandbox Code Playgroud)
:\dn: 搜索 \dna/period追加/period到下一行(新行)。如果你想要/period在下一行的末尾,那么像这样使用它:
sed ':/dn: { N; s:$:/period: }' filename
Run Code Online (Sandbox Code Playgroud)
这是一个示例输入:
/dn
/name
Run Code Online (Sandbox Code Playgroud)
和输出:
/dn
/name /period
Run Code Online (Sandbox Code Playgroud)
首先,我们搜索带有 的行/dn,然后/period在 ( $)的末尾添加下一行 ( N;)。