The69Er Asked: 2019-07-26 09:51:39 +0800 CST2019-07-26 09:51:39 +0800 CST 2019-07-26 09:51:39 +0800 CST 将文件列表的文本文件中的行传递给或作为参数[重复] 772 我有一个文件,每行有两个文件名,如下所示: file1.fastq.gz file2.fastq.gz ... file9fastq.ga file10fastq.gz 如何将这两个名称作为脚本的参数传递? shell-script scripting 2 个回答 Voted Best Answer jesse_b 2019-07-26T09:56:54+08:002019-07-26T09:56:54+08:00 使用while read循环: while read -r file1 file2 trash; do something with "$file1" and "$file2" done < /path/to/input_file 这将逐行读取您的输入文件,分别设置第一列file1和file2第二列。 trash可能是不必要的,但我喜欢包含它来处理您可能遇到的事情,例如: file1.fastq.gz file2.fastq.gz foo 如果您的文件包含与上述类似的行并且您没有包含trash变量(或类似变量),则您的file2变量将设置为:file2.fastq.gz foo Jeff Schaller 2019-07-26T10:01:53+08:002019-07-26T10:01:53+08:00 xargs是另一种方式,如果您的文件格式与您所说的完全相同:每行两个空格分隔的字段(注意...省略号)。 < input xargs -n2 ./script-here input... 将逐行读取名为的文件并将两个参数传递给./script-here. 您可以重新排列重定向: xargs -n2 ./script-here < input ...如果它对您来说更直观。
使用
while read
循环:这将逐行读取您的输入文件,分别设置第一列
file1
和file2
第二列。trash
可能是不必要的,但我喜欢包含它来处理您可能遇到的事情,例如:如果您的文件包含与上述类似的行并且您没有包含
trash
变量(或类似变量),则您的file2
变量将设置为:file2.fastq.gz foo
xargs
是另一种方式,如果您的文件格式与您所说的完全相同:每行两个空格分隔的字段(注意...
省略号)。input
... 将逐行读取名为的文件并将两个参数传递给./script-here
.您可以重新排列重定向:
...如果它对您来说更直观。