Итак, я пытаюсь написать скрипт для wc-файлов с помощью команды date. Формат файлов, например, выглядит следующим образом: testfile20170104.gz.Unix Shell Scripting с использованием команды даты
Теперь файлы установлены, чтобы иметь вчерашнюю дату в формате yyyymmdd. Так что если сегодня будет 1/5/2017, файл будет иметь предыдущий день 1/4/2017 в формате yyyymmdd, как вы видите в примере выше.
Обычно для подсчета файла все, что нужно сделать, это просто ввести: gzcat testfile20170104.gz | wc -l, чтобы получить количество слов.
Однако, что я хочу сделать, это запустить скрипт или даже цикл for, который gzcat файл, но вместо того, чтобы копировать и вставлять имя файла в командной строке, я хочу использовать команду date для ввода вчерашнего дата в имени файла в формате yyyymmdd.
Так как шаблон что-то вроде этого:
gzcat TestFile * .gz | туалет -l | date = "- 1 days" +% Y% m% d
Теперь я знаю, что у меня есть ПОЛНОСТЬЮ, но вы получаете картину. Я хочу заменить «*» на выход из команды даты, если это имеет смысл ...
Любая помощь будет очень признательна!
Спасибо!
спасибо это работает! ценить это. –
Предположим, я хочу реализовать это в цикле for, а не в сценарии sh ... –
Простите, что? Не-ш-петля? –