Удаление столбцов из ВСЕХ файлов CSV в определенной папке и вывод файла с датой

Я пытаюсь автоматизировать некоторые процессы с помощью приложения Hazel, чтобы переместить файл в определенную папку, выполнить сценарий оболочки для любого CSV-файла в этой папке, а затем переместить его в другую папку. Сейчас я работаю над сценарием оболочки. Я тестировал команду cut в терминале на csvs, но я не уверен, что это то же самое, что сценарий оболочки, так как кажется, что он не работает, но у меня есть:

cut -d',' -f2,12 test.csv > campaigns-12-31-13.csv

Выглядит для test.csv но я хотел бы, чтобы он работал с любым CSV, и он также экспортирует его с датой 12-31-13 но я просто пытаюсь заставить его экспортировать с какой бы то ни было вчерашней датой.

Как мне преобразовать это в сценарий оболочки, который будет выполняться на любом csv в папке, и поэтому он добавляет дату для вчерашнего дня в конце имени файла?

1 ответ

Решение

Вы можете попробовать следующий скрипт:

#! /bin/bash

saveDir="saveCsv"
dd=$(date +%Y-%m-%d -d "yesterday")
for file in *.csv ; do
    bname=$(basename "$file" .csv)
    saveName="${saveDir}/${bname}-${dd}.csv"
    cut -d',' -f2,12 "$file" > "$saveName"
done
Другие вопросы по тегам