我需要使用Linux find
命令,以便我可以搜索一个名称或另一个名称。
我需要一种方法来查找从MS Windows应用程序传输的两个文件。一个是使用.csv扩展名生成的,另一个是.CSV扩展名。它们在文件名中也有空格,我知道如何处理。
但是,我不太确定如何将.CSV添加到以下-name \*.csv
命令的find
参数中。
-name
参数中可以将两个值设为“或”吗?
for fnam in `find . -maxdepth 1 -type f -name \*.csv -exec echo "{}" \;`
do
.
.
.
答案 0 :(得分:3)
此命令应该找到两种类型的文件。请注意括号后的转义字符和空格。
find . \( -name "*.cvs" -o -name "*.CVS" \)
答案 1 :(得分:3)
目前尚不清楚,为什么不使用-iname '*-csv'
选项?
答案 2 :(得分:1)
将脚本的查找部分更改为?
find . -maxdepth 1 -type f \( -name \*.csv -o -name \*.CSV \) -exec echo "{}" \;
答案 3 :(得分:1)
如果你只是匹配扩展名.csv和.CSV,你也可以使用globbing代替find
,即。
for fnam in *.csv *.CSV; do
...