Я пытаюсь напечатать текст со строки 10 до 20, а затем изменить их положение.
Я пробовал это:
sed '10!G;h;$!d' file.txt
Но он печатает только с 10 до концафайла.Есть ли способ остановить его в строке 20, используя только одну команду sed?
Почти там, вам просто нужно заменить $!d на номер строки "до"
$!d
sed -n '10,20p' tst.txt // Prints line 10 <--> 20
sed -n '10!G;h;20p' tst.txt // Prints REVERSE line 10 <--> 20
выход:
20 19 18 17 16 15 14 13 12 11 10
tst.txt:
1 2 3 4 ... 19 20
информация
Вы можете использовать это для печати диапазона строк:
sed -n -e 10,20p file.txt | tac
tac обратный порядок строк
tac
А для тех из вас, у кого нет TAC (как те, кто там Mac):
sed -n -e 10,20p file.txt | tail -r