【问题标题】:How to copy files using wildcards in Unix如何在 Unix 中使用通配符复制文件
【发布时间】:2018-09-22 23:04:24
【问题描述】:

如何将文件名与以下规则匹配的文件复制到当前目录(使用通配符):

  1. file开头
  2. 在该单词之后有一个或多个数字
  3. 号码后有.txt 扩展名

我试过了:

$ cp path_name/file[0-9].txt ./

以下是我要复制的文件的一些示例:

file1.txt  
file45.txt  
file5642.txt 

【问题讨论】:

  • 你试过$ cp path_name/file*.txt .吗?

标签: linux copy wildcard


【解决方案1】:

试试这个:

cp `find /path/to/files |  grep -E 'file[[:digit:]]+\.txt'` ./

(将/path/to/files更改为您的实际路径,将./更改为您的目标目录)

【讨论】:

  • 我已经试过了......它只复制“文件”一词后只有一位数字的文件。我的意思是像“file5.txt”或“file7.txt”这样的文件......我想复制“文件”一词后有一个或多个数字的文件
  • 我试过了:cp path_name/file[[:digit]]*.txt ./ 那个也复制了名为“file8a.txt”的文件。我不想要任何其他字符除外从单词文件后面的数字..我也想要结论“.txt”
  • 我试过: cp path_name/file[[:digit:]]*.txt ./ 那一个也复制文件“file8a.txt” ..我想复制只有数字的文件(s) 和“文件”后面的任何其他数字除外。这些文件也应该以“.txt”结尾
  • 你是对的,这不是 100% 正确,请参阅问题中的更新答案
猜你喜欢
  • 1970-01-01
  • 2012-05-28
  • 2011-01-11
  • 2020-01-22
  • 2017-09-02
  • 1970-01-01
  • 2015-12-12
  • 2012-05-03
  • 2013-08-24
相关资源
最近更新 更多