Я в настоящее время прохожу ручной процесс кодирования списка файлов от DOS до Unix так, чтобы я мог переместить файлы от x до y. Я хотел бы этот процесс, автоматизированный в одном сценарии, но я - общий новичок.
Это - псевдокод:
Преобразовать list.txt
к кодированию Unix (:set ff=unix
)
Переместите файлы от /folder
это присутствует в list.txt
кому: /folder2
(другими словами, /folder
содержит большой список, но я только хочу файлы в list.txt
быть перемещенным)
это - то, как я перемещаю файлы: while read line ; do cp /opt/home/first.last/Runs/clientPDFs/${line}.pdf ~/folder2 ; done < ~/list.txt
Если возможный я хотел бы, чтобы сценарий проверил на list.txt
сначала. Если нет того, он должен переместить ВСЕ файлы.
если list.txt
затем while read line ; do cp /opt/home/first.last/Runs/clientPDFs/${line}.pdf ~/folder2 ; done < ~/list.txt
еще while read line ; do cp /opt/home/first.last/Runs/clientPDFs/${line}.pdf ~/folder2
Я, вероятно, структурировал бы его что-то вроде этого:
filelist="list.txt"
srcdir="/opt/home/first.last/Runs/clientPDFs"
dstdir="$HOME"
if [ -r "$filelist" ]; then
sed 's/\r$//' "$filelist" | xargs -I{} cp -t "$dstdir"/ -- "$srcdir"/{}.pdf
else
cp -t "$dstdir"/ -- "$srcdir"/*.pdf
fi
Вы могли добавить расширение PDF в рамках команды sed, если Вы предпочитаете т.е.
sed 's/\r$/.pdf/' "$filelist" | xargs -I{} cp -t "$dstdir" -- "$srcdir"/{}