Как я могу обработать результаты находки в сценарии удара?

Я пытаюсь использовать массив для хранения списка имен файлов с помощью find команда.

По некоторым причинам массиву не удается работать в ударе, используемом школой, моими работами программы над моим собственным ноутбуком все же.

Таким образом, я задавался вопросом, существует ли другой способ сделать это, это - то, что я имею:

array = (`find . -name "*.txt"`)  #this will store all the .txt files into the array

Затем я могу получить доступ к объектам массива и сделать копии всех файлов с помощью команды кошки.

Там другой путь состоит в том, чтобы сделать это, не используя массив?

61
задан Paŭlo Ebermann 20 August 2011 в 00:01
поделиться

2 ответа

Можно использовать что-нибудь вроде этого:

find . -name '*.txt' | while read line; do
    echo "Processing file '$line'"
done

Например, сделать копию:

find . -name '*.txt' | while read line; do
    echo "Copying '$line' to /tmp"
    cp -- "$line" /tmp
done

HTH

.
115
ответ дан 24 November 2019 в 17:06
поделиться
find . -name '*.txt' | while IFS= read -r FILE; do
    echo "Copying $FILE.."
    cp "$FILE" /destination
done
3
ответ дан 24 November 2019 в 17:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: