Хотя обрезка с опцией -c
работает для большинства практических целей, я думаю, что история конвейеризации в awk была бы лучшим решением. Например:
history | awk '{ $1=""; print }'
OR
history | awk '{ $1=""; print $0 }'
Оба эти решения делают одно и то же. Вывод истории подается в awk. Затем Awk очищает первый столбец, который соответствует числам в выводе команды history. Здесь awk более удобен, потому что вам не нужно беспокоиться о количестве символов в числовой части вывода.
print $0
эквивалентно print
, поскольку по умолчанию печатается все, что появляется в строке. Ввод print $0
более точный, но какой вы выберете, решать вам. Поведение print $0
и просто print
при использовании с awk более очевидно, если вы используете awk для печати файла (cat
будет быстрее печатать вместо awk, но это для иллюстрации точки).
[Ex] Использование awk для отображения содержимого файла с $ 0
$ awk '{print $0}' /tmp/hello-world.txt
Hello World!
[Ex] Использование awk для отображения содержимого файла без явных $ 0
$ awk '{print}' /tmp/hello-world.txt
Hello World!
[Ex] Использование awk, когда строка истории занимает несколько строк
$ history
11 clear
12 echo "In word processing and desktop publishing, a hard return or paragraph break indicates a new paragraph, to be distinguished from the soft return at the end of a line internal to a paragraph. This distinction allows word wrap to automatically re-flow text as it is edited, without losing paragraph breaks. The software may apply vertical whitespace or indenting at paragraph breaks, depending on the selected style."
$ history | awk ' $1=""; {print}'
clear
echo "In word processing and desktop publishing, a hard return or paragraph break indicates a new paragraph, to be distinguished from the soft return at the end of a line internal to a paragraph. This distinction allows word wrap to automatically re-flow text as it is edited, without losing paragraph breaks. The software may apply vertical whitespace or indenting at paragraph breaks, depending on the selected style."