Итерировать группы файлов в цикле for

We can do it both sed and awk

awk-метод

awk '!/testtingtools/{print $0}' crn.txt >l.txt &&yes| mv l.txt crn.txt

выход

 cat crn.txt
50 11 * * 6 /opt/devtools/toolbox/toolcheck.sh >>toolcheck.log 2>&1
55 23 * * 5 /opt/devtools/toolbox/reset.sh >>/opt/toolcheck/log/reset.log
56 23 * * 6 /opt/prdtools/tqweekly.sh 2>>/opt/checktool/extract.err
30 11 * * 6 /opt/proadtools/tool.sh >/opt/checkingtools/tool.log 2>&1
0
15.12.2020, 20:54
2 ответа

Предполагая, что вы знаете и умеете жестко -кодировать префиксы:

for p in A B C D; do
    mycommand "$p"*.xlsx
    mv "$p"*.xlsx tmp/
   ...
done
1
18.03.2021, 22:42

Используйте универсальное выражение для всех из них. Для файлов, начинающихся с A, Bили C.

<mycommand> [ABC]*.xlsx
mv -t tmp/ -- [ABC]*.xlsx

Здесь хорошо читается о глобусе.


Если вам нужно выполнить команды, которые не принимают много файловых аргументов, вам придется вызывать отдельные процессы для каждого аргумента, но вы все равно можете выбирать их, используя один и тот же глобус:

for f in [ABC]*.xlsx; do
    <some_command> "$f"
done
0
18.03.2021, 22:42

Теги

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