Использование GNUsed
командыe
value :
sed 's#^#./main -o &#e' test.txt
И если форматирование неправильное, просто добавьте перед этим какой-нибудь код. Например, если формат первой строки должен быть "./main -o 27 8d ca 53 f9 60 14 be ", это будет работать:
sed 's/../& /g;s#^#./main -o &#e' test.txt
Имя в одинарных кавычках. Это необходимо, так как имя содержит не только (
, но и пробелы и другие символы, которые будут интерпретированы оболочкой, если не будут заключены в кавычки. Оболочка разделит имя на пробелы без кавычек и будет рассматривать каждое сгенерированное слово как отдельный шаблон имени файла, чтобы удалить (, вы видите это в сообщении об ошибке, которое вы получили ), а символы ?
являются подстановочными символами, которые потенциальное соответствие одному символу в существующих именах файлов (маловероятно, но все же ).
rm -i ~olb/'Email Thu, 19 Mar 2020 18:49:16 +0000 =?UTF-8?Q?Update_from_GOV.UK_=E2=80=93_Coronavirus_(COV?= =?UTF-8?Q?ID-19)_guidance_for_the_charity_sector?='
В качестве альтернативы можно использовать шаблон подстановки имени файла, который однозначно соответствует имени файла,
rm -i ~olb/Email*COV*guidance_for_the_charity_sector*
Обратите внимание, что вы должны быть уверены, что это соответствует только одному файлу, который вы хотите удалить. Вы можете проверить это, заменив rm
в приведенной выше команде на printf '%s\n'
или echo
и проверив результат этой измененной команды.
Я также использую здесь rm -i
, чтобы дать вам интерактивную подсказку для каждого удаления.
Вы можете использовать тот же подход, чтобы переименовать файл в более разумное имя:
mv -i ~olb/Email*COV*guidance_for_the_charity_sector* /home/olb/COV_guidance_for_the_charity_sector.txt