다음 파일이 있습니다.
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 '!/\.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;