何千もの類似したファイルがあり、そのファイルのパターンの後にそれぞれの名前を書きたいと思います。たとえば、
**ファイル1の名前はnexus0000です。
ファイルには以下が含まれます。
>Pseudomonas_1M
ATGATCCGCTTCGAGCAGGTCGGCAAACGCTATC
>Pseudomonas_2M
GTGAGCTTCGAGCAGGTCGGCGAGCCGCTATC
私はこれを得たいと思います:
nexus0000>Pseudomonas_1M
ATGATCCGCTTCGAGCAGGTCGGCAAACGCTATC
nexus0000>Pseudomonas_2M
GTGAGCTTCGAGCAGGTCGGCGAGCCGCTATC
**ファイル2の名前はnexus0001です。
ファイルには以下が含まれます。
>Pseudomonas_1M
ATGATCCGCTTCGAGCAGGTCGGCAAACGCTATC
>Pseudomonas_2M
GTGAGCTTCGAGCAGGTCGGCGAGCCGCTATC
私はこれを得たいと思います:
nexus0001>Pseudomonas_1M
ATGATCCGCTTCGAGCAGGTCGGCAAACGCTATC
nexus0001>Pseudomonas_2M
GTGAGCTTCGAGCAGGTCGGCGAGCCGCTATC
など。
これまでは、次を使用して最初の行にのみファイル名を書き込むことができます。
for file in nexus*; do echo "$file"$"$(cat -- "$file")" > "$file"; done
助けてくれてありがとう!
ベストアンサー1
sed解決策:
for f in nexus*; do sed -i "s/^>/$f&/" "$f"; done
または使用愚かなおよびinplace
拡張機能(v.4.1.0から利用可能):
for f in nexus*; do awk -i inplace '/^>/{ $0=FILENAME$0 }1' "$f"; done