
如何在 mac 終端機中對資料夾中的多個檔案運行相同的命令?這些文件的名稱類似24538_7#1.fq
、24538_7#2.fq
、等。24538_7#3.fq
24538_7#4.fq
命令是:
sed -n '\|@.*/1|{N;N;N;p;}' 24538_7#2.fq > 24538_7#2_paired1.fq
sed -n '\|@.*/2|{N;N;N;p;}' 24538_7#2.fq > 24538_7#2_paired2.fq
由於檔案名稱涉及計數器,因此顯然需要更改檔案名稱。
我試圖編寫命令,但在重命名文件時陷入困境。我對該命令的努力如下:
for file in 24538_7#*.fq; do sed -n '\|@.*/1|{N;N;N;p;}' "$file" > "${file/fq/fq}"; done
(PS-我使用MacOS)
答案1
假設所有文件的名稱相似,您可以使用
for file in 24538_7#*.fq; do
sed -n '\|@.*/1|{N;N;N;p;}' "$file" > "${file%.fq}_paired1.fq"
sed -n '\|@.*/2|{N;N;N;p;}' "$file" > "${file%.fq}_paired2.fq"
done
或(以您已經嘗試過的方式為基礎)
for file in 24538_7#*.fq; do
sed -n '\|@.*/1|{N;N;N;p;}' "$file" > "${file/.fq/_paired1.fq}"
sed -n '\|@.*/2|{N;N;N;p;}' "$file" > "${file/.fq/_paired2.fq}"
done
警告:這僅適用於您的特定情況和特定檔案名稱。