Я получил задачу сделать эти команды на текстовом файле:
value
s value.text
при перенаправлении stderr Вещь, с которой я шел,
cut cities.txt -f1 | sort| uniq | head -3 | xargs rename "s/*/*.text/" * | xargs cat 2>error.txt
но это дает ошибку:
Quantifier follows nothing in regex; marked by <-- HERE in m/* <-- HERE / at (user-supplied code).
Я также пытался сделать это с mv * *.text
, но это не работает, говоря mv: target 'Germany' is not a directory
, причем "Германия" является последним значением в списке value
s.
Любая из этих команд меня устраивает, но объяснение, почему они оба не работают (и как заставить их работать) более ценилось бы.
В случае, если любой когда-либо натыкается на этот вопрос: комментарий John1024 к вопросу является правильным решением, хотя существует одна вещь заметить - сообщения об ошибках, сгенерированные попыткой распечатать содержание несуществующих файлов, сгенерированы xargs rename "s/.*/$&.text/"
, поэтому, если необходимо перенаправить сообщения об ошибках в другой файл, необходимо добавить 2>error.text
к rename
команда и не запись другой | xargs cat 2>error.txt