У меня есть куча csv-файлов в папке. Мне нужен сценарий sed/bash для выполнения каждого файла в папке:Sed/bash для добавления частичного имени файла и даты к новому имени файла в bash
Возьмите файл filename.csv, выполните скрипт с каждым файлом и вставьте результат выполнения в имя файла + CurrentDate.csv, где текущая дата это только дата без пробелов.
Например: abc.csv превращается в abc_02-03-15.csv после выполнения функции.
Я полагаю, что код будет выглядеть примерно так:
#!/bin/bash
dir="/var/tmp/"
now=$(date)
for f in "$dir"/*; do
ScriptName
sed OriginalFileName > "OriginalFileName+$now.csv"
done
Пожалуйста посоветуйте и спасибо за помощь заранее.
Это, похоже, работает внутри цикла for. Попытка сделать это за пределами цикла for немного проблематична. У меня есть простой скрипт: file1 = abc.csv, file2 = "$ {file1%. *}", Now = $ (date), file3 = $ file1_ $ file2, echo "$ file3". Это отображает только abc, а не abc, за которым следует дата. – ToofanHasArrived
Я не совсем уверен, что вы имеете в виду. Не могли бы вы прояснить оставшуюся проблему (или ссылку на любой новый вопрос, если он выходит за рамки существующего вопроса)? –
По существу, что я пытаюсь сделать, это отобразить файл + дату вне цикла. Коррекция из моего предыдущего комментария - file3 = $ file2_ $. echo " $ file3" показывает abc, но не показывает дату – ToofanHasArrived