Ошибка при переименовании файла с шаблоном файла в unix - PullRequest
0 голосов
/ 27 мая 2020

В рамках нашего процесса мы получаем входной файл в формате .gz. Нам нужно распаковать этот файл и добавить суффикс в конец файла. Во входном файле есть отметка времени, поэтому я пытаюсь использовать фильтр при разархивировании и переименовании этого файла.

Имя входного файла:

Mem_Enrollment_20200515130341.dat.gz

Шаг 1: Распаковка этого файла: (работает должным образом)

gzip -d Mem_Enrollment_*.dat.gz

вывод:

Mem_Enrollment_20200515130341.dat

Шаг 2: Переименование этого файла: (проблемы при переименовании)

Снова , Я использую шаблон, но знаю, что в данном случае это не сработает. Итак, что мне делать, переименовать этот файл?

mv Mem_Enrollment_*.dat Mem_Enrollment_*.dat_D11

вывод:

Mem_Enrollment_*.dat_D11

ожидаемый результат:

Mem_Enrollment_20200515130341.dat_D11

Ответы [ 2 ]

1 голос
/ 27 мая 2020

попробовать

for fn in Mem_Enrollment_*.dat
do 
mv ${fn} ${fn}_D11;
done
0 голосов
/ 27 мая 2020

Используя только данные, вы можете oop через ls выводить из этапа выполнения команды через «ls Mem_Enrollment _ *. Dat.gz», а затем использовать @FM в качестве разделителя при циклическом переходе списка вывода. Затем вы можете разбить gzip и переименовать его в две отдельные команды, что поможет повысить удобочитаемость вашей работы. до некоторой внутренней фанки внутри Datastage. Поэтому вам нужно установить равную ей пользовательскую переменную и передать ее метке.

...