如何使用Shell复制以某些字符串开头的所有文件 后跟三个数字,并以三个字符的任意序列结尾 点后(从当前目录到 直接父目录?
答案 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将其复制到目录“ ..”,该目录指定父目录。这部分留给您完成,最困难的部分完成了:-)