установите новую переменную в ударе

У меня есть список с названием zip-файлов. Я хочу записать, чтобы цикл разархивировал их в данный каталог.

Как я могу установить переменную в ударе, которые прибывают из части имен zip?

for i in `cat zipfiles.txt`; do
     WIDTH3="${cat zipfiles.txt | rev | cut -c47-54 | rev}"
-1
задан 30 January 2018 в 05:16

1 ответ

Вы циклично выполняетесь по строкам zipfiles.txt. Для каждого цикла Вы устанавливаете переменную $i со значением текущей строки. Затем Вы сокращаете часть из cat zipfiles.txt который не имеет никакого смысла.

Вы хотите сократить из $i вместо этого. Кроме того, Ваш синтаксис является неправильным, необходимо использовать $(any_command) вместо ${any_command}.

WIDTH3=$(echo "$i" | rev | cut -c47-54 | rev)

Так или иначе в этом случае лучше использовать while read [...] вместо for ...:

while IFS= read -r line; do
    WIDTH3=$(echo "$line" | rev | cut -c47-54 | rev)
    do_something
done < zipfiles.txt
2
ответ дан 31 October 2019 в 02:40

Другие вопросы по тегам:

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