При использовании -i inplace
с GNU awk
вы будете выполнять редактирование данного файла в -месте. Это вывод программы awk
, который записывается обратно в файл. Если ваша awk
программа ничего не выводит, файл будет очищен (так же sed -i
работает с GNUsed
).
Поэтому следует использовать
awk -i inplace -F ',' '{ OFS=","; $2 = strftime("%Y-%m-%d %H:%M:%S", $2); print }' file.csv
или, чтобы не устанавливать OFS
для каждой строки ввода,
awk -i inplace -F ',' -v OFS=',' '{ $2 = strftime("%Y-%m-%d %H:%M:%S", $2); print }' file.csv
или, короче,
awk -i inplace -F ',' -v OFS=',' '{ $2 = strftime("%F %T", $2) }; 1' file.csv
Вы можете использовать perl -переименовать (есть другая программа под названием rename
, которая является частью пакета util-linux
):
perl-rename 's,_grid12_,_,' *
Вам даже не нужен цикл, так как perl-rename
переименует все файлы в текущий каталог.