例如,同一路径中有许多文件名为:
FILE-2013-01-02.csv, FILE-2013-01-03.csv,......FILE-2013-12-31.csv
我想选择几个文件并将它们复制到其他路径中。
简单地说,要选择包含 January 信息的文件,我会使用cp -r FILE-2013-01* ./other/path
。
如果我想在第1个月,第3个月,第5个月中选择shell中有一个句子的所有文件,我该怎么办?
答案 0 :(得分:2)
这应该这样做:
cp -r FILE-2013-0{1,3,5,7}* ./other/path
答案 1 :(得分:2)
您可以使用:
cp -r FILE-2013-0[1357]-*.csv your_path
答案 2 :(得分:1)
按如下方式使用:
|
答案 3 :(得分:0)
cp -r FILE-2013-0[1357]-[0-3][0-9].csv /otherpath/
如果您想要2013-11和2013-02但没有2013-12或2013-01,您可以使用grep -E -w来获得更复杂的正则表达式选项:2013-(1[01]|0[2357])
ls | grep -E -w '^FILE-2013-(1[01]|0[2357])-[0-3][0-9].csv$' | xargs -i cp {} /otherpath/
我更愿意找到这个。
find ./ -type f -name "FILE-2013-0[1357]-[0-3][0-9].csv" -exec cp -r {} /otherpath/ \;