![여러 파일의 특정 줄 이름 바꾸기](https://linux55.com/image/216995/%EC%97%AC%EB%9F%AC%20%ED%8C%8C%EC%9D%BC%EC%9D%98%20%ED%8A%B9%EC%A0%95%20%EC%A4%84%20%EC%9D%B4%EB%A6%84%20%EB%B0%94%EA%BE%B8%EA%B8%B0.png)
내 문제는 폴더에 여러 파일이 있고 각 파일에서 특정 줄을 변경하고 싶다는 것입니다. 예를 들어:
file_1.fasta에는 다음이 포함됩니다.
>remove__c_0000234
ACTG
>remove__c_0000235
CGTA
file_2.fasta에는 다음이 포함됩니다.
>remove__c_0000345
CCTA
>remove__c_0000431
...
>remove__
이 폴더의 모든 파일에서 이 섹션을 제거하고 싶습니다 . 한 줄의 코드를 사용하여 Linux에서 이 작업을 어떻게 수행할 수 있습니까?
감사합니다!
답변1
충분히 간단합니다.sed -s -i 's/>remove__//g' *.fasta
더 긴 형식은 sed가 입력을 연속 스트림이 아닌 별도의 파일로 처리하도록 지시하는 sed --separate --in-place 's/>remove__//g' *.fasta
곳 입니다. 표준 출력에 결과를 표시하는 대신 파일에서 직접 작동하도록 만듭니다 -s
.-i
위 명령을 실행한 후 예제 파일을 봅니다(헤더는 파일에 표시되지 않음).
$ more *.fasta | cat
::::::::::::::
file_1.fasta
::::::::::::::
c_0000234
ACTG
c_0000235
CGTA
::::::::::::::
file_2.fasta
::::::::::::::
c_0000345
CCTA
c_000043