Я вставил бы их /lib/udev
если обеспечено deb пакетом и в /etc
иначе.
Если Вы развертываете программу на нескольких машинах, я рекомендую делать deb пакет; это сделает развертывание и версию, отслеживающую легче. Wiki Debian имеет информацию, или можно прочитать Руководство Новых Специалистов по обслуживанию Debian (игнорирующий нетехнические биты). dh
делает это бризом (существует даже a dh_installudev
).
Если это только для одной машины, я поместил двоичный файл в управление версиями также, или иначе регистрируюсь в источнике и make-файле и игнорирую двоичный файл. Можно также хотеть вставить символьную ссылку /lib/udev
. Я не рекомендую вставить неупакованный файл /lib/udev
потому что Вы забудете, что это там.
Оболочка может сделать циклы:
for i in *.csv; do
grep -v "=" "$i" | cut -f 1-4,9,14,15,19,21,22,24,26 > "new.$i"
done
Хотя при встраивании разделителей полей в поля это будет бомбить. Но не из-за цикла.
Если Вы хотите обеспечить конкретные файлы как аргумент сценарию, например, названному сценарию process_csv.sh
#!/bin/bash
for arg; do
grep -v "=" "${arg}" | cut -f 1-4,9,14,15,19,21,22,24,26 > "${arg}.new"
done
Теперь можно запустить этот скрипт как после,
./process_csv.sh *.csv
ИЛИ
./process_csv.sh first.csv fifth.csv seventh.csv
ИЛИ
./process_csv.sh somefile1 somefile2
Прежде чем кто-то укажет на это в вышеупомянутом сценарии, если Вы не хотите сохранять аргументы, можно использовать shift
в сценарии.
$i
заключение в кавычки потребностей, или это повредится на именах файлов, содержащих символы в IFS. – Chris Down 30.01.2012, 19:07