Как я могу изменить порядок строк в файле?

567
задан Good Person 4 December 2012 в 05:07
поделиться

4 ответа

Хвост BSD:

tail -r myfile.txt

Ссылка: FreeBSD , NetBSD , Справочные страницы OpenBSD и OS X .

423
ответ дан 22 November 2019 в 22:02
поделиться

Есть хорошо известные приемы sed :

# reverse order of lines (emulates "tac")
# bug/feature in HHsed v1.5 causes blank lines to be deleted
sed '1!G;h;$!d'               # method 1
sed -n '1!G;h;$p'             # method 2

(Объяснение: добавьте не начальную строку для хранения буфера, измените строку и сохраните буфер, распечатайте строку в конце)

Альтернативно (с более быстрое выполнение) из однострочников awk :

awk '{a[i++]=$0} END {for (j=i-1; j>=0;) print a[j--] }' file*

Если вы не помните этого,

perl -e 'print reverse <>'

В системе с утилитами GNU другие ответы проще, но не весь мир GNU /Linux...

153
ответ дан 22 November 2019 в 22:02
поделиться

Также стоит упомянуть: tac (гм, реверс кошки ]). Часть coreutils .

Перелистывание одного файла в другой

tac a.txt > b.txt
1308
ответ дан 22 November 2019 в 22:02
поделиться

Попробуйте следующую команду:

grep -n "" myfile.txt | sort -r -n | gawk -F : "{ print $2 }"
24
ответ дан 22 November 2019 в 22:02
поделиться
Другие вопросы по тегам:

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