Я использую Cygwin в качестве оболочки Linux, В моем текущем рабочем каталоге есть следующее содержимое:
Файлы:
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? Или короткий сценарий оболочки?
Используя цикл Bash:
#!/bin/bash
for f in *.dat; do
sub="${f%.dat}"
[ -d "W_${sub}_w" ] && cp -- "${f}" "W_${sub}_w"/
done