linux - 根据扩展标准移动文件的脚本

标签 linux bash shell

我有一定数量的文件始终包含相同名称但不同扩展名,例如 sample.datsample.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/

相关文章:

linux - Bash 脚本,不使用 ls 输出文件夹内容和字节大小

c++ - 编写 Shell - 使用 system() 或 exec() 来运行命令?

linux - Python 的子进程 popen 中的死锁

linux - 只得到grep : get ip of ifconfig的第一部分

linux - 在 Linux 中使用 wget 或其他命令获取整个域内容?

python - 在交互式 shell 中显示函数定义

bash - grep : how to put the filename before each match, 当文件来自管道时?

c - 如何在 mmaped 内存中删除脏页并为快速 munmap 做准备?

linux - 计算日志文件中的特定行数

linux - 如何创建一个 bash 文件,为从文件夹 A move 到文件夹 B 的每个文件创建符号链接(symbolic link) (linux)