如何使用Shell将具有某些名称要求的文件复制到直接父目录

时间:2018-09-16 03:50:56

标签: bash shell

如何使用Shell复制以某些字符串开头的所有文件  后跟三个数字,并以三个字符的任意序列结尾 点后(从当前目录到 直接父目录?

1 个答案:

答案 0 :(得分:0)

这里的主要挑战是获取文件列表。

因此,您正在使用以下文件查看文件:

<SOMESTRING><digit><digit><digit>.<char><char><char>

我的第一个反应是:

/bin/ls somestring[[:digit:]]{3}.[[:alpha:]][[:alpha:]][[:alpha:]]

然后,本杰明W.指出“字符”可以包含数字,因此:

/bin/ls somestring[[:digit:]]{3}.???

但是这不起作用,因为ls使用gloglo,而不是正则表达式。所以必须这样修改:

/bin/ls somestring[[:digit:]][[:digit:]][[:digit:]].???

有效,但是恕我直言。因此,您可以执行以下操作:

find . -regextype posix-awk -regex ".*[0-9]{3}\..{3}" -print

一旦有了文件列表,就可以使用cp将其复制到目录“ ..”,该目录指定父目录。这部分留给您完成,最困难的部分完成了:-)