对于目录中的某些文件执行操作

时间:2018-03-05 16:44:28

标签: foreach

多年来我还没有使用过这些东西,所以请耐心等待!

我有一些非常奇怪的问题,Mac Excel会使某些.csv文件变灰,而不是其他文件。从我到目前为止所读到的内容来看,这可能与一些更隐藏的文件参数有关。

无论如何,我想在目录中找到具有特定名称的文件,对它们执行getfileinfo并吐出结果,例如:

for each i in (ls \*_xyz*.csv) do getfileinfo $i | echo

(或者这些天可以实现的更聪明的方式......)

我尝试了一些组合,但一直得到" -bash语法错误",所以我已经决定是时候寻求帮助......

谢谢!

1 个答案:

答案 0 :(得分:0)

创建虚拟测试文件:

$ touch file{1..10}_xyz.csv

$ ls
file10_xyz.csv  file1_xyz.csv   file2_xyz.csv   file3_xyz.csv   file4_xyz.csv   file5_xyz.csv   file6_xyz.csv   file7_xyz.csv   file8_xyz.csv   file9_xyz.csv

有很多方法可以做到这一点。我最喜欢的是method1。

方法1)

$ find . -name "*xyz*.csv" -exec someCommand {} \;

方法2)

$ for x in $( find . -name "*xyz*.csv") ; do someCommand $x ; done

方法3)

$find . -name "*xyz*.csv" | xargs someCommand