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

echo "$LOG_FILE" | sed -n '$p'не извлекает последнюю строку файла $LOG_FILE, она берет последнюю строку того, что отправляется на его стандартный ввод, то есть имя вашего файла журнала ( /var/lib/backuppc/log/LOG), который должен появиться в вашем электронном письме.

Правильный синтаксис будет следующим:

sed -n '$p' "$LOG_FILE"

Или, лучше, так как отображение N последних строк — это работа tail:

tail -n 1 "$LOG_FILE"
0
30.08.2016, 15:02
1 ответ

Надеюсь, это совместимо с вашим Solaris - я тестировал его под SunOS 5.10 с bash 4.3.26:

find . | while read f; do
    if [ ! -d "$f" ]; then
        echo $(basename "$f"),$(dirname "$f")
    fi
done

Здесь просто используется базовое имя и имя каталога для разделения имени файла .

$ find test | while read f; do if [ ! -d "$f" ]; then echo $(basename "$f"),$(dirname "$f"); fi; done
ex4,test/sample2
ex3,test/sample2
ex2,test/sample1
ex1,test/sample1
3
28.01.2020, 02:27

Теги

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