У меня есть файл ввода, который имеет две записи, и каждая запись ограничена трубой.Обновление одного столбца в файле на основе некоторого условия
входной файл: /omega/inputfiles/feeds.txt
SALES|2015-12-14
PROFILES|2015-11-27
сценария оболочки, я передам динамическую дату в «формате YYYY-MM-DD», если это динамическая дата не равна. to date значение в файле feeds.txt, тогда мне нужно заменить это значение даты в файле feeds.txt с динамической датой.
Скажем, если я передаю динамическую дату как '2015-12-14', то этот файл необходимо обновить, как показано ниже
SALES|2015-12-14
PROFILES|2015-12-14
Я написал ниже сценарий, но я не знаю, как заменить поле записи в файле на основе состояния
replacing_dt=$1
RAW_DIR_PATH=/omega/inputfiles/
while read feed_line ; do
raw_dir_latest_upt_dt=`echo $feed_line | cut -d '|' -f 2`
if [ $raw_dir_latest_upt_dt != $replacing_dt]
then
#Code to replace the date available in file with replacing_dt
fi
done < $RAW_DIR_PATH/feeds.txt
я выполнить этот файл как Баш /omega/code/file_update.sh 2015 -12-14
Может кто-нибудь мне помочь в настройке этого кода, чтобы удовлетворить мое требование
есть ли ошибка в вашем примере? 24-й вместо 14-го? –
Я не уверен, полностью ли я понимаю, что вам нужно делать, но учитывая тот факт, что вы хотите, чтобы второй столбец был датой, предоставленной вами в качестве аргумента, нет необходимости делать чек. Просто прочитайте файл с помощью 'awk', напечатайте первый столбец, затем напечатайте аргумент даты. –
Да, это была ошибка, я редактировал вопрос –