测试文件:
cat Test.txt
#EXTM3U
#EXTINF:100
a.flac
#EXTINF:20
b.flac
预期结果
cat Test.txt
#EXTM3U
#EXTINF:100
#a.flac
#EXTINF:20
#b.flac
实验一
sed -e '/^#EXTINF/a #' Test.txt
#EXTM3U
#EXTINF:100
#
a.flac
#EXTINF:20
#
b.flac
建议?
我的实验在 append 之后添加了一个新行#
,我不希望添加那个新行。
在哪里
n
打印模式空间(在本例中为匹配行^#EXTINF
),然后将输入的下一行读入模式空间s/^/#/
#
在新读取行的开头替换与
awk
:打印任何一行,然后测试图案。如果模式匹配,则
getline
调用获取下一行进行处理。也&& getline
用于测试下一行是否存在并且我们还没有到达文件末尾,以避免在匹配时再次打印最后一行。没有相同的
getline
:使用标志 (
p
),在找到模式时设置它。p=0
由于inside ,标志只能用于设置它的下一行p{...}
。