라인 1과 라인 2에서 just 와 라인 2를 abcd11.gmail.com
제거 하고 나머지는 그대로 남겨두고 아래에서 라인 2에서 어떻게 제거합니까 ? 다음과 같은 파일에 수천 줄이 있습니다.*test1:
abcd14.gmail.com
*fortest2:
abcd19.gmail.com
*asatesteg:
May 23 03:44:02 abcd11.gmail.com x.x.x.x.x: *test1: May 23 04:46:21.032: #TEST1_ENTRY:4105 THIS is a test1
May 23 03:44:02 abcd14.gmail.com x.x.x.x.x: *fortest2: May 23 04:46:21.032: #TEST2_ENTRY:4105 THIS is a test2
May 23 03:44:02 abcd19.gmail.com x.x.x.x.x: *asatesteg: May 23 04:46:21.032: #TESTEG_ENTRY:4105 THIS is a testeg
답변1
sed
대체를 시도해 볼 수 있습니다.
$ sed -e 's/abcd[0-9]*//g' -e 's/*test[0-9]*://g' file
abcd[0-9]*
일치하는 항목 abcd
뒤에 숫자가 옵니다 .*test[0-9]*:
답변2
컷을 사용한 솔루션:
cat $FILE | cut -d' ' -f4,6 --complement
답변3
항상 같은 문장을 제거해야 한다면 시도해 볼 수 있습니다.
sed -e 's/abcd[0-9]*//g' -e 's/*test[0-9]*://g' file.ext
이 출력을 저장하려면 >명령의 마지막 부분에 추가하거나 >>내용을 다른 파일에 추가하려면 stdout의 출력을 표시합니다.
sed -e 's/abcd[0-9]*//g' -e 's/*test[0-9]*://g' file.ext>new_file.ext
sed -e 's/abcd[0-9]*//g' -e 's/*test[0-9]*://g' file.ext>>new_file.ext
그런 다음 이전 파일을 제거하고 새 파일로 교체할 수 있습니다.
rm file.ext
mv new_file.ext file.ext