LINUX.ORG.RU

shell скрипт


0

0

необходимо написать скрипт, который ищет в текущем каталоге файлы abc??.log, удаляет их, а первые строчки копирует в файлы def??.log подскажите, как это реализовать


Если файлов не много, то примерно так:

#!/bin/bash
for i in abc??.log; do
    def=$( echo "${i}" | sed 's,abc\(..\)\.log,def\1.log,' )
    head -n 1 "${i}" >"${def}"
    rm -v "${i}"
done

Deleted
()
for f in abc???.log; do
  head -n 12 $f > def`echo $f | sed 's,^abc,,; s,\.log$,,'`.log
  rm $f;
done
ip1981
()
Ответ на: комментарий от varf

ls | grep '^abc..\.log$' | sed 's/^abc\(..\)/head -n1 abc\1.log > def\1.log; rm -f abc\1/' | sh -s

dilmah
()
sed -i '2,$d' abs*.log
rename 's/abs/def/' abs*.log
sdio
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.