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
Предполагая, что вы знаете и умеете жестко -кодировать префиксы:
for p in A B C D; do
mycommand "$p"*.xlsx
mv "$p"*.xlsx tmp/
...
done
Используйте универсальное выражение для всех из них. Для файлов, начинающихся с A
, B
или C
.
<mycommand> [ABC]*.xlsx
mv -t tmp/ -- [ABC]*.xlsx
Здесь хорошо читается о глобусе.
Если вам нужно выполнить команды, которые не принимают много файловых аргументов, вам придется вызывать отдельные процессы для каждого аргумента, но вы все равно можете выбирать их, используя один и тот же глобус:
for f in [ABC]*.xlsx; do
<some_command> "$f"
done