텍스트 파일 내용 편집을 위한 쉘 스크립트/unix 명령

텍스트 파일 내용 편집을 위한 쉘 스크립트/unix 명령

두 번째 행의 두 번째 열(파일 이름)에 있는 파일의 내용을 편집하고 마지막 밑줄 뒤와 파일 확장자 앞 부분을 제거하고 싶습니다.

파일 내용은 다음과 같습니다. 파일 내용을 입력해주세요

No|filename|count
01 |com_101_00000_0001_a234.txt|100

예상되는 출력 파일 콘텐츠

No|filename|count  
01 |com_101_00000_0001.txt|100

밑줄 수는 .ctl 파일에 있는 파일 이름에 따라 달라질 수 있습니다. 또한 이렇게 폴더에 여러 파일이 있는데 두 번째 줄에 있는 모든 .ctl 파일의 내용을 비슷하게 변경하고 싶습니다.

Operating system details Linux  2.6.32 -696.30.1.e16
GNU/linux

나는 다음 솔루션을 사용해 보았습니다.
cat com_101_00000_0001.ctl |)_[^_](.[^_]*)$/\1\2/'

이것은 파일 내용을 편집하지만 퍼티 콘솔 자체에 내용을 표시합니다. 내가 원하는 것은 서버의 특정 경로에 있는 원본 파일을 수정하는 것입니다.

무엇이 잘못되었는지 알려주세요.

답변1

거의 같은 질문을 하신 게 이번이 세 번째입니다(노래 1,노래 2, 그리고 이것) - 주어진 답을 모아서 얼마나 멀리 갈 수 있는지 알아보세요.

해봤어?이 답변? 결과를 파일로 캡처하려면 리디렉션에 대해 읽어보세요.

관련 정보