파일에서 특정 단어 제거

파일에서 특정 단어 제거

라인 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

관련 정보