我有一定数量的文件始终包含相同名称但不同扩展名,例如 sample.dat
、sample.txt
等。
我想创建一个脚本来查找 sample.dat
所在的位置,然后将名为 sample*.*
的所有文件移动到另一个目录中。
我知道如何用ls *.dat | 来识别它们sed 's/\(.*\)\..*/\1/'
,但是我想连接类似 || 的内容mv
(第一部分的结果)*.*/otherdirectory/
最佳答案
你可以使用这个 bash 语句:
for f in `ls | grep YOUR_PATTERN`; do mv ${f} NEW_DESTINATION_DIRECTORY/${f}; done
它迭代操作的结果 ls | grep
,这是您想要移动的文件列表,然后它将每个文件移动到新的目的地。
关于linux - 根据扩展标准移动文件的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51423491/