我在String
中有一个字符串列表,想要在文件夹中Targets
的所有文件名的开头添加。所有文件都已订购。
String.txt:
ID1Somestring_
IDISomeOtherString_
IDISomeThirdString_
目标:
example1.fastq
example2.fastq
example3.fastq
输出:
ID1Somestring_example1.fastq
IDISomeOtherString_example2.fastq
IDISomeThirdString_example3.fastq
答案 0 :(得分:1)
首先,将文件读入数组
mapfile -t strings < String.txt
然后,遍历文件并依次访问每个数组元素:
n=0; for file in *fastq; do echo mv "$file" "${strings[n++]}$file"; done
mv example1.fastq ID1Somestring_example1.fastq
mv example2.fastq IDISomeOtherString_example2.fastq
mv example3.fastq IDISomeThirdString_example3.fastq
或者,假设您的文件名不包含换行符
paste String.txt <(printf "%s\n" *fastq) |
while read -r string file; do echo mv "$file" "$string$file"; done