Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在bash中循环几个文件扩展名_Bash_Loops - Fatal编程技术网

在bash中循环几个文件扩展名

在bash中循环几个文件扩展名,bash,loops,Bash,Loops,我在文件夹中有一个文件列表,我只想处理其中的几个文件。该文件夹包含file.qc、file.qc.gz file.qc.stat file.qc.count等文件 我想在bash中编写一个循环,只打开file.qc和file.qc.gz,而忽略其他文件扩展名(如qc.stats或qc.count)只需在循环中指定多个全局变量: #!/bin/bash # Gracefully cases where there are no matches shopt -s nullglob for f i

我在文件夹中有一个文件列表,我只想处理其中的几个文件。该文件夹包含file.qc、file.qc.gz file.qc.stat file.qc.count等文件


我想在bash中编写一个循环,只打开file.qc和file.qc.gz,而忽略其他文件扩展名(如qc.stats或qc.count)

只需在循环中指定多个全局变量:

#!/bin/bash

# Gracefully cases where there are no matches
shopt -s nullglob

for f in *.qc *.qc.gz
do
  echo "Found: $f"
done

您也可以将其缩写为
*.qc{,.gz}
,它扩展为相同的内容。

只需在循环中指定多个全局变量:

#!/bin/bash

# Gracefully cases where there are no matches
shopt -s nullglob

for f in *.qc *.qc.gz
do
  echo "Found: $f"
done

你也可以把这个缩写写为
*.qc{,.gz}
,它可以扩展成同样的东西。

我试过这个,但我也想编辑文件,也就是说,.qc和.qc.gz需要不同的awk状态,它给我一个错误。这个循环遍历所有你想要的文件。这取决于你对他们做些有用的事情。如果要有条件地执行操作,可以使用
If
语句。例如
echo“此代码对所有文件运行”;如果[$f==*.qc.gz]];然后echo“此代码仅对.qc.gz文件运行”;fi
我尝试了这一点,但我也想对文件进行部分编辑,即,.qc和.qc.gz需要不同的awk状态,因为它会给我一个错误。这会在您想要的所有文件上循环。这取决于你对他们做些有用的事情。如果要有条件地执行操作,可以使用
If
语句。例如
echo“此代码对所有文件运行”;如果[$f==*.qc.gz]];然后echo“此代码仅对.qc.gz文件运行”;fi
我尝试了此操作,但我还想部分编辑文件,即.qc和.qc.gz需要不同的awk状态,它会给我一个错误我尝试了此操作,但我也想部分编辑文件,即.qc和.qc.gz需要不同的awk状态,它会给我一个错误