2개의 파일 file1.seq
과 file2.seq
.
그것들은 다음과 같습니다:
file1.seq
ACGGTGTGATG
file2.seq
CGTGATGATGT
다음과 같은 fasta 파일을 만들고 싶습니다.
>file1.seq
ACGGTGTGATG
>file2.seq
CGTGATGATGT
어떻게 해야 하나요?
답변1
간단한 for 루프를 사용하세요:
for f in file*.seq; do printf ">%s\n" "$f"; cat -- "$f"; done >newfile
- 이
for
루프는 디렉터리에서 일치하는 모든 파일을 반복합니다file*.seq
. printf
ptint 파일명.- 그리고
cat
파일의 내용을 인쇄합니다. >newfile
모든 것을 이름이 지정된 디렉터리로 리디렉션합니다newfile
.
또는 다음을 사용하여 awk
:
awk 'FNR==1{print ">"FILENAME}1' file*.seq
FNR==1
파일의 현재 레코드 번호입니다.print ">"FILENAME
파일 이름을 선행으로 인쇄>
1
다른 모든 경우에는 해당 행을 인쇄하십시오.