Bagaimana cara mendapatkan perintah sebelum cap waktu dalam output `history` di Bash?

0

Saya menemukan jawaban ini tentang riwayat cap waktu untuk Bash.

Apakah ada cara untuk mengubah output? Khususnya

Number command time-stamp

daripada

Number time-stamp command
DiiP
sumber

Jawaban:

1

Anda dapat memproses output dari historybuiltin. Pertama, persiapkan HISTTIMEFORMATmenurut jawaban yang Anda tautkan:

export HISTTIMEFORMAT="%d.%m.%y %T "

Untuk mendapatkan hasil yang diinginkan, aktifkan:

history | awk '{ printf "%s\t",$1; for(i=4; i<=NF; i++) printf "%s",$i OFS; printf "\t%s %s\n",$2,$3 }'

Jika Anda menimpa historybuiltin dengan fungsi:

history() { builtin history | awk '{ printf "%s\t",$1; for(i=4; i<=NF; i++) printf "%s",$i OFS; printf "\t%s %s\n",$2,$3 }'; }

maka cukup menulis historyuntuk mendapatkan apa yang Anda inginkan.

Catatan: spasi awal dan pemformatan kolom dari historyoutput telanjang hilang. Karena bidang perintah tidak memiliki panjang tetap, memilikinya di tengah bukanlah ide terbaik. Saya sengaja memisahkan bidang dengan tab (bukan spasi) untuk membuat output lebih mudah dibaca. Jika Anda lebih suka spasi maka ganti \tkode saya dengan (spasi).

Kamil Maciorowski
sumber