繁体   English   中英

如何使变量成为bash中文件夹中文件名的序列? 并在for循环中使用两个变量?

[英]How to make a variable be a sequence of file names from a folder in bash? And use two variables in for loop?

我正在尝试制作一个简单的bash脚本,该脚本可以一次运行多个文件的程序一次,并考虑使用for循环来实现。 这就是为什么我认为使用带有文件名的seq的原因,我可以手动设置,但我认为学习如何以更优雅的方式进行操作更有趣。 有人能帮我吗? 这就是我正在尝试的

folder=/user/folder/files_1.fi
folder2=/user/folder/files_2.fi
mypath=/path/to/files/

seq1= folder{??}
seq2= folder2{??}

for x,y in seq1 seq2
output= ${x:0:5}

do

program options -1 $mypath/$seq1 -2 $mypath/$seq2 -o $output



done

我想出一种解决自己的问题的方法,我在这里发帖寻找其他寻找相同或相似问题的人。

还是要谢谢你。

$ cat script.sh
#!/bin/bash

seq1=(/path/to/files/*._1.fq)
seq2=(/path/to/files/*._2.fq)

for ((i=0;i<=${#seq1[@]};i++)); do

 output=$(echo ${seq1[$i]} | awk '{print substr ($0, 28, 8)}')
program options -1 ${seq1[$i]} -2 ${seq2[$i]} -o $output
done

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM