Здравствуйте,мудрые люди!
Добрался я потихоньку до bash, и как и должно быть, сразу затык. Затеял я написать скриптик для автоматизации обработки текстовых файликов. В общем постановка задачи: Программа1 выплёвывает результаты своей работы в виде файлов внутри которых какой-то текст в одну папку. Чтобы скормить эти файлы Программе2 с ними надо произвести некоторые манипуляции - лишние поля отрезать (для этого awk и sed), выбрать нужные строки grep-ом и т.д. С выполнением этих манипуляций руками проблем нет. Проблема в следующем: мне надо чтобы скрипт брал из папки с выхлопом Программы1 файлы по одному, потом я их прогоню через обработку и по одному буду скармливать Программе2. Критерий по какому выбирать это файл не важен.
Пробую делать вот так:
ls /home/user/Result1/ | sed -n '1p'
или так:
ls -1 | head -n1 /home/user/Result1/
Он выдаёт в stdout имя первого файл в папке. Ладно, я пытаюсь его по конвееру запихнуть в cat или less или в nano вот так:
ls /home/user/Result1/ | sed -n '1p' | cat
или
ls /home/user/Result1/ | sed -n '1p' | less
или
ls -1 | head -n1 /home/user/Result1/ | nano
но эти поганцы открывают имя выбранного файла.
Или если дальше его гнать по конвееру вот так
ls /home/user/Result1/ | sed -n '1p' | split -d
то летит уже имя этих файлов а не их содержимое.
Пробовал во так
less /home/user/Result1/* | sed -n '1p'
открывает первую строку первого файла.
А если так:
find /home/user/Result1/* -type f -exec #и дальше чёнибудь
то он естественно выполняет операцию со всеми файлами
Если так
less /home/user/Result1/* | split -d
то получается что-то похожее на то что нужно. less открывает файлы по одному, и прогоняет их через split. Вроде норм но есть 3 проблемки 1) split прибавляет первую строку следующего файла к последней строке предидущего. 2) split создаёт куски в pwd а мне надо чтобы я мог задавать папку сырья для Программы2. 3) у меня нет возможности убрать из папки /home/user/Result1 уже обработанные файлы.
В общем если в двух словах подскажите как мне в bash скрипте выдернуть из папки один файл, по любому признаку.