Обновить определенное значение одного файла значениями в другом текстовом файле

POSIXly (за исключением команды zip, очевидно):

find. -path./s3 -prune -o -type d -name data -exec sh -c '
   for dir do
     (cd "$dir" && zip -r Archive.zip.)
   done' sh {} +

Или сzsh -o extendedglob:

for dir (./**/data~*/s3/*(/N)) (cd $dir && zip -r Archive.zip.)

Или, если вы не хотите рекурсивно искать папки data:

for dir (./^s3/data(/N)) (cd $dir && zip -r Archive.zip.)

Или, чтобы быть еще более конкретным (здесь нет необходимости extendedglob):

for dir (s[124]/data(/N)) (cd $dir && zip -r Archive.zip.)
1
20.11.2019, 14:32
1 ответ

С гибкими функциями GNUawk:

gawk -i inplace -v repl="Replacing_values.txt" 'FNR==1{ getline $5 < repl }1' *.asc
  • -i inplace-позволяет изменить входной файл (с )в -место
  • -v repl="Replacing_values.txt"-переменная, сохраняющая имя файла со значениями замены
  • FNR==1-рассматривать только 1-ю строку каждого входного файла
  • getline $5 < repl-прочитать следующую запись из файла replи присвоить ее 5-му столбцу$5
1
27.01.2020, 23:40

Теги

Похожие вопросы