bash cat 所有文件名中包含特定字符串的文件
bash cat all files that contains a certain string in file name
在 bash
中,您如何 cat
目录中的所有文件在其文件名中包含特定字符串。例如我的文件名为:
test001.csv
test002.csv
test003.csv
result001.csv
result002.csv
我想cat
所有.csv
文件名中包含字符串test
的所有.csv
和所有包含result
字符串的.csv
在文件名中。
方法很简单
cat `find . -name "*test*.csv"`
刚刚:
cat *test*.csv
cat *result*.csv
对于名称中带有 test
(或者如果是第二个 result
)的所有文件。
shell本身可以轻松找到所有匹配简单通配符的文件。
cat *test*.csv >testresult
您要注意不要让输出文件的名称与通配符匹配。 (这在技术上是无害的,但是很好的做法。)
shell 将按字母顺序扩展通配符。大多数 shell 将遵循您的语言环境,因此 "alphabetical order" 的定义可能取决于当前的语言环境设置。
在 bash
中,您如何 cat
目录中的所有文件在其文件名中包含特定字符串。例如我的文件名为:
test001.csv
test002.csv
test003.csv
result001.csv
result002.csv
我想cat
所有.csv
文件名中包含字符串test
的所有.csv
和所有包含result
字符串的.csv
在文件名中。
方法很简单
cat `find . -name "*test*.csv"`
刚刚:
cat *test*.csv
cat *result*.csv
对于名称中带有 test
(或者如果是第二个 result
)的所有文件。
shell本身可以轻松找到所有匹配简单通配符的文件。
cat *test*.csv >testresult
您要注意不要让输出文件的名称与通配符匹配。 (这在技术上是无害的,但是很好的做法。)
shell 将按字母顺序扩展通配符。大多数 shell 将遵循您的语言环境,因此 "alphabetical order" 的定义可能取决于当前的语言环境设置。