Chociaż cięcie z tą -c
opcją działa w większości praktycznych celów, myślę, że lepsze rozwiązanie byłoby przesłanie historii rurociągów do awk. Na przykład:
history | awk '{ $1=""; print }'
LUB
history | awk '{ $1=""; print $0 }'
Oba te rozwiązania robią to samo. Dane wyjściowe historii są przekazywane do awk. Awk następnie usuwa pierwszą kolumnę, która odpowiada liczbom w danych wyjściowych polecenia historii. Tutaj awk jest wygodniejszy, ponieważ nie musisz przejmować się liczbą znaków w części liczbowej wyniku.
print $0
jest odpowiednikiem print
, ponieważ domyślnie wypisuje wszystko, co pojawia się w wierszu. Pisanie print $0
jest bardziej wyraźne, ale wybór należy do Ciebie. Zachowanie print $0
i po prostu print
użycie z awk jest bardziej oczywiste, jeśli użyliśmy awk do wydrukowania pliku ( cat
szybsze byłoby wpisanie zamiast awk, ale służy to zilustrowaniu punktu).
[Np.] Użycie awk do wyświetlenia zawartości pliku z $ 0
$ awk '{print $0}' /tmp/hello-world.txt
Hello World!
[Np.] Używanie awk do wyświetlania zawartości pliku bez jawnego $ 0
$ awk '{print}' /tmp/hello-world.txt
Hello World!
[Np.] Używanie awk, gdy wiersz historii obejmuje wiele linii
$ 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."
cat ~/.bash_history
jest to wykluczone?