Мне нужен скрипт для копирования на cron основе списка файлов. Файлы, выбранные по шаблону name/datetime, и имя файла назначения должны быть добавлены такими данными, как ddmmyyy. Это не проблема с копиями файлов или каталога, но проблема с изменением имени каждого файла в соответствии с его данными. Может быть, существует какое-то решение с открытым исходным кодом? Спасибо.Linux bash script для копирования файлов
2
A
ответ
4
Вы не предоставили мне достаточно информации, чтобы дать вам реальный рабочий код; но вы можете сделать что-то вроде этого:
file=dated_log.log
ddmmyyyy=$(read -r < "$file" ; echo "${REPLY:1:8}")
cp "$file" "$file.$ddmmyyyy"
выше скопирует dated_log.log
в data_log.log.30102011
, при условии, что в первой строке dated_log.log
начинается с 30102011
.
Bash Reference Manual, надеюсь, поможет вам отрегулировать вышеуказанное в соответствии с вашими потребностями.
Смежные вопросы
- 1. Linux bash script для копирования каталога и подкаталогов
- 2. создать Linux Bash скрипт для копирования файлов и создать каталог
- 3. Рекурсивный bash linux script
- 4. Проверять каталог ежедневно для новых файлов - linux bash script
- 5. Linux Script, для файлов каталога
- 6. скрипт bash для копирования файлов между каталогами
- 7. Bash Script для отображения файлов в каталоге
- 8. помощь по скрипту bash для копирования файлов
- 9. linux - bash script - проверить файл
- 10. Linux bash script - для проблем с циклами
- 11. Bash Script для копирования содержимого из одного файла в другой
- 12. Ошибка Linux Bash Script Regex
- 13. Linux bash script действующий weird
- 14. Проверка Symlink - Linux Bash Script
- 15. Linux bash script simulate введите
- 16. Linux bash script застрял в состоянии сна
- 17. Bash Script для копирования папок по первому символу
- 18. wait bash script до копирования завершает
- 19. Автоматизация копирования файлов в bash
- 20. Bash Script Сравнение файлов Выпуск
- 21. Bash Script для загрузки ftp-файлов
- 22. Linux bash script, чтобы указать тип файла
- 23. bash script переименовать несколько файлов
- 24. Linux Bash Shell Script -p недействительный идентификатор
- 25. Резервное копирование bash script
- 26. linux script: массовое переименование файлов с пробелами
- 27. Linux bash script symlink с пробелами
- 28. Выполнение вызова BASH Linux Script из HTTP
- 29. Linux Bash Script использует возврат функции
- 30. Bash Shell Script для копирования файлов из источника в пункт назначения
Вместо 'ddmmyyyy = $ (read -r <" $ file "; echo" $ {REPLY: 1: 8} ")' вы могли бы читать -r -n 8 ddmmyyyy <"$ file" '. –
@gniourf_gniourf: Да, хорошая точка. Но я думаю, что мой ответ лучше, потому что я скорее сомневаюсь, что формат файла OP * на самом деле * начинается с точных восьми правильных символов, и я думаю, что код, который я опубликовал, скорее всего, будет более легко изменен в любой форме необходимо ОП. (Предположим, что OP действительно нуждается в символах с 30 по 37. Как бы вы отредактировали 'read -r -n 8 ddmmyyy' для их получения?) – ruakh
для символов с 30 по 37:' read -r -n 37 ddmmyyyy <"$ file" ; ddmmyyyy = $ {ddmmyyyy: 30} 'будет делать. Или даже прямо: 'read -r ddmmyyyy <" $ file "; DDMMYYYY = $ {DDMMYYYY: 30: 8} '. Или 'read -r ddmmyyyy; printf -v ddmmyyyy "% .8s" "$ {ddmmyyyy: 30}" или ... цель состоит в том, чтобы избежать подоболочки (я лично нахожу '$ (... echo)' довольно плохого стиля. ':) '. –