我有一个包含名称以时间戳开头的文件的目录,例如20170102065744.get。其中一些文件包含一个数字作为模式,例如456787.我只需要移动名称与201701 *匹配的文件,并将原始目录中的数字模式456787移动到另一个目录。
操作系统是Sun Solaris Unix
答案 0 :(得分:1)
不确定solaris操作系统上的正确语法,但是你可能能够使用类似的东西实现这一点(假设你当前的shell提示位置在包含文件的文件夹中)
for i in `find . -type f -name "*201701*" | grep 456787 `; do mv $i move_to_folder/; done
答案 1 :(得分:0)
我能够使用基于@Bogdan建议的想法的grep使用shell脚本来实现它
#!/bin/bash
for i in 'grep -l 456787 src_dir/201701*`
do
mv $i destn_dir/
done