我有一个包含多行的文件。像这样:
Session
PKG_TEST
Call: command(parameter);
Error: error message
end of log;
Session2
PKG_TEST2
Call: command2(parameter2);
Error: error message
end of log;
我需要删除以Call开头的每一行末尾的分号。
我知道如何找到以Call
开头的每一行/^Call.*/
,但是如果不删除文件中的每个分号,就无法在一个sed命令中创建所有内容。我怎么能这样做?
答案 0 :(得分:2)
要仅在与模式匹配的行上运行替换,您可以将替换附加到地址:
sed '/^Call/s/;$//' infile
检查您的行是否与^Call
匹配,如果匹配,则会执行s/;$//
,这会删除一个尾随分号。