Невозможно переименовать каждый файл в файл file.text (используя xargs)

Я получил задание выполнить эти команды в текстовом файле:

Выбрать каждое второе поле из файла Сортировка и выбрать сначала 3 уникальных value s Печатать содержимое каждого value.text в то время как redirecting 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.

Любая из этих команд хороша для меня, но объяснение того, почему обе они не работают (и как их заставить работать), будет более оценено.

0
задан 6 January 2018 в 19:36

3 ответа

В случае, если кто-либо наткнется на этот вопрос: комментарий John1024 к вопросу - правильное решение, хотя есть одна вещь, которую можно заметить - сообщения об ошибках, созданные попыткой распечатать содержимое несуществующих файлов, генерируются [ f1], поэтому, если вам нужно перенаправить свои сообщения об ошибках в другой файл, вы должны добавить 2>error.text в команду rename, а не написать другой | xargs cat 2>error.txt

1
ответ дан 22 May 2018 в 18:11

В случае, если кто-либо наткнется на этот вопрос: комментарий John1024 к вопросу - правильное решение, хотя есть одна вещь, которую можно заметить - сообщения об ошибках, созданные попыткой распечатать содержимое несуществующих файлов, генерируются xargs rename "s/.*/$&.text/", поэтому, если вам нужно перенаправить свои сообщения об ошибках в другой файл, вы должны добавить 2>error.text в команду rename, а не написать другой | xargs cat 2>error.txt

1
ответ дан 18 July 2018 в 06:20

В случае, если кто-либо наткнется на этот вопрос: комментарий John1024 к вопросу - правильное решение, хотя есть одна вещь, которую можно заметить - сообщения об ошибках, созданные попыткой распечатать содержимое несуществующих файлов, генерируются xargs rename "s/.*/$&.text/", поэтому, если вам нужно перенаправить свои сообщения об ошибках в другой файл, вы должны добавить 2>error.text в команду rename, а не написать другой | xargs cat 2>error.txt

1
ответ дан 24 July 2018 в 18:35

Другие вопросы по тегам:

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