Если у меня есть эта встроенная команда:
perl -pi -e 's/([\da-f]{2})([\da-f]{2})\s?/\\x$1\\x$2\t/g'
, которая просто заменяет гекс с четырьмя ди git и добавляет к нему «x». -i
используется без имен файлов в командной строке, чтение из STDIN
. Итак, для параметров: 0000 0776
, результаты равны \x00\x00\x07\x76
Я знаю, что если -n
или -p
(с печатью) вызваны, perl принимает <>
алмаз. Но я хочу передать args только ПОСЛЕ команды, но perl предполагает, что это файлы для чтения. Так как же заставить -n
или -p
считать аргументы после команды обычными аргументами для <>
в программе, а не аргументы как файлы для чтения?
Кроме того, я не понимаю роли i
здесь. Если бы я не включил его, я бы добавил строку args строка за строкой (как это делает <>
), но с i
он принимает все мои аргументы одновременно?