我使用 Cygwin 作为 Linux shell,当前工作目录中有以下内容:
文件:
Abc.dat
123.dat
456.dat
Directories:
W_Abc_w
W_123_w
W_456_w
Now I want to copy files as below:
Abc.dat -> W_Abc_w
123.dat -> W_123_w
456.dat -> W_456_w
如何用一行 Linux 命令实现这一点?或者用一个简短的 shell 脚本?
答案1
使用 Bash 循环:
#!/bin/bash
for f in *.dat; do
sub="${f%.dat}"
[ -d "W_${sub}_w" ] && cp -- "${f}" "W_${sub}_w"/
done