여러 파일의 특정 줄 이름 바꾸기

여러 파일의 특정 줄 이름 바꾸기

내 문제는 폴더에 여러 파일이 있고 각 파일에서 특정 줄을 변경하고 싶다는 것입니다. 예를 들어:

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

관련 정보