我有以下文件:
linuxA.mtt.corp
linux3V
linux4B
linux2A
linux5v.mtt.corp
如何.mtt.corp
在每個沒有這個單字的字串上添加 ?
答案1
這很簡單sed
:
sed -e '/\.mtt\.corp$/!s/$/.mtt.corp/' <file
這確實會在不以該字串結尾的每一行上s
替換行尾。.mtt.corp
答案2
Perl 解決方案:
$ perl -lpe '$_ .= ".mtt.corp" if !/\.mtt\.corp$/' file
linuxA.mtt.corp
linux3V.mtt.corp
linux4B.mtt.corp
linux2A.mtt.corp
linux5v.mtt.corp
在應用 給定的腳本後列印輸入檔案的每一行,-p
並從每個輸入行中刪除尾隨換行符並為每個呼叫添加一個換行符。變數是當前行。因此,如果該行尚未匹配, 則會將其新增至該行。perl
-e
-l
print
$_
mtt.corp
awk 解決方案:
$ awk '!/\.mtt\.corp$/{$0=$0".mtt.corp"}1;' file
linuxA.mtt.corp
linux3V.mtt.corp
linux4B.mtt.corp
linux2A.mtt.corp
linux5v.mtt.corp
同樣的想法。.mtt.corp
加到任何$0
不以其結尾的行 ( ) 中,並列印每行 ( 1;
)。