У меня есть файл, такой как следующий:
1234
ABCD
EFGH
Я хотел бы преобразовать это в следующее:
2341
BCDA
FGHE
Фактический файл содержит 4000 слов, поэтому я хотел бы сделать это эффективным способом. Я попытался использовать команду cut -c 2-4,1 file.txt
, но она выдает тот же самый вывод, что и ввод. Я думал, что смогу использовать 3 разные команды:
cut -c 1 file.txt > temp1.txt
cut -c 2-4 file.txt > temp2.txt
// combine the two with paste or pr
... но я бы предпочел одну команду, потому что мне нужно запускать ее несколько раз с небольшими изменениями, поэтому выполнение одной команды менее подвержено ошибкам, чем выполнение 3 команд каждый раз.
Можно ли как-то объединить 2 оператора cut в одно? Что-то вроде:
cut -c 1 file.txt | pr (cut -c 2-4 file.txt)
Или есть лучший способ сделать это?
text-processing
cut
Senseful
источник
источник
-d ''
вместо того,--delimiters=''
чтобы повторно использовать символы из LIST вместо вкладокЕсли вы используете bash, используйте индексирование строки расширения параметра :
источник
Вы можете изменить разделитель через «-F» в соответствии с вашими данными, и произвольно упорядочить порядок полей.
источник
Вот один из способов с
perl
:Автоматическое разделение по границам букв, поверните один влево и распечатайте.
источник
Я нашел альтернативу в сценарии:
Скрипт разрезает цепочки в отдельные файлы. Затем присоединитесь к новому файлу (file4.txt) и, наконец, удалите лишние файлы.
раствор llua более чистый на мой вкус.
источник
Вы пробовали обороты?
~$ cat filename | rev
источник