Я составляю скрипт для обработки 20 файлов. Все они расположены в разных каталогах. У меня есть частичное имя файла.Использование подстановочных файлов linux в cp и mv
- В каталоге журнала, File1_Date_time.err изменение File1__Date_time_orig.err
- кд ../scripts/
- Sh File.sh
каталог ФАЙЛ1/данные/data1directory/Sample_File1/журналы/File1_Data_time.err
каталог File2 является /data/data2directory/Sample_File2/logs/File2_Data_time.err
.....
Мой сценарий выглядит так. (runrunrun.sh)
#!/bin/bash
INPUT=$1
mv /data/*/Sample_*/logs/*_Data_time.err /data/*/Sample_*/logs/*_Data_time_orig.err
cp /data/*/Sample_*/scripts/*.sh /data/*/Sample_*/scripts/*_orig.sh
sh /data/*/Sample_*/scripts/*_orig.sh
При работе с ним я пробовал.
./runrunrun.sh Файл1
. runrunrun.sh File1
ш runrunrun.sh File1
мв: не может двигаться /data/data1directory/Sample_File1/logs/File1_Data_time.err /data/*/Sample_*/logs/*_Data_time_orig.err
: Нет такого файла или каталога ф также не получил подобную обратную связь
Могу ли я делать это правильно?
Спасибо!
'mv',' cp' и т.д. ** не передаются подстановочные знаки, которые вы пишете **, если эти подстановочные знаки h ave любые действительные разложения. Вместо этого они передаются буквальными именами файлов, созданными путем запуска этих расширений. Таким образом, поскольку они не знают буквенных подстановочных знаков, используемых во входном имени, они не могут сопоставить '*' во входном имени '*' в имени вывода. –
Если вы хотите написать инструменты переименования, то неплохо начать работу с BashFAQ # 30: http://mywiki.wooledge.org/BashFAQ/030 –
Связанный: http://stackoverflow.com/questions/20629302/better-way -to-rename-files-based-on-multiple-patterns/25597051 –