Я совершенно новичок в Unix. Может ли кто-нибудь помочь мне с требованием, где файл с разделителями * (звездочкой) состоит из нескольких строк, начинается с RTG и 3-го столбца = TD8 Я хочу вставить часть даты и
Я хочу заменить текущую дату минус 15 дней. Вот пример. я использую сервер AIX
$ cat temp.txt
RTG*888*TD8*20180201~
TWW*888*RD8*20180301-20180301~
RTG*888*TD8*20180401-20180501~
KCG*888*TD8*20180101-20180201~
Я хочу вывод, как показано ниже, путем изменения даты. Пожалуйста помоги. Я ищу сценарий UNIX, чтобы он работал для всех файлов в этом каталоге
RTG*888*TD8*20190417~
TWW*888*RD8*20180201-20180201~
RTG*888*TD8*20190417-20190417~
KCG*888*TD8*20180201-20180201~
Это работает для одного файла:
awk -v "NewDate=$(TZ=GMT+100 date +%Y%m%d)" '
BEGIN {
FS = OFS = "*"
}
$1 == "RTG" && $3 == "TD8" {
gsub(/[0-9]{8}/, NewDate, $4)
}
1' file
но я хочу применить его ко всем файлам, присутствующим в каталоге.