Так что у меня это работает на сервере с awk 3.1.7, и когда я пытаюсь использовать на сервере с awk 4.0.2, это не похоже на работу.Я просто пытаюсь добавить имя файла 14 цифр, это цель.У меня нет версии perl при переименовании на всякий случай, если она была вызвана.
В любом случае, это мой код
ls 800001.1.pull | awk -F'.pull' '{ printf "%s %014s.pull%s\n", $0, $1, $2; }' | xargs -n 2 mv
Я получаю эту ошибку mv: '800001.1.pull' и'800001.1.pull' - это тот же файл
ls 800001.1.pull | awk -F'.pull' '{ printf "%s %014s.pull%s\n", $0, $1, $2; }' | xargs -n 2 mv
mv: ‘800001.1.pull’ and ‘800001.1.pull’ are the same file
Это то же самое, что работало на другом сервере в течение нескольких лет, и я не получаю сообщение об ошибке, я получаю файл с именем:
ls 800001.1.pull | awk -F'.pull' '{ printf "%s %014s.pull%s\n", $0, $1, $2; }' | xargs -n 2 mv
000000800001.1.pull
и вот почему я сказал это:
Я буду считать, что более новый awk обрабатывает разные разделители?
Ожидаемый вывод: 000000800001.1.pull
Исходный файл должен быть дополнен 0 до 14.
Спасибо!