Jawaban:
Gunakan cut
. Misalnya. untuk menghapus 4 karakter pertama dari setiap baris (yaitu mulai pada karakter ke-5):
tail -f logfile | grep org.springframework | cut -c 5-
grep --line-buffered "org.springframework
untuk mengatasi masalah itu.
Anda bisa menggunakan cut
:
cut -c N- file.txt > new_file.txt
-c:
karakter
file.txt:
masukan file
new_file.txt:
berkas keluaran
N-:
Karakter dari N hingga ujung akan dipotong dan di-output ke file baru.
Dapat juga memiliki argumen lain seperti: 'N', 'N-M', '-M' yang berarti karakter ke-n, karakter ke-n, karakter pertama ke karakter ke-13.
Ini akan melakukan operasi ke setiap baris file input.
tail -f logfile | grep org.springframework | cut -c 900-
akan menghapus 900 karakter pertama
cut
menggunakan 900- untuk menampilkan karakter ke-900 hingga akhir baris
namun ketika saya menyalurkan semua ini melalui grep saya tidak mendapatkan apa-apa
Saya pikir awk
akan menjadi alat terbaik untuk ini karena dapat menyaring dan melakukan fungsi manipulasi string yang diperlukan pada baris yang difilter:
tail -f logfile | awk '/org.springframework/ {print substr($0, 6)}'
atau
tail -f logfile | awk '/org.springframework/ && sub(/^.{5}/,"",$0)'
Ini adalah fungsi sederhana, diuji dalam bash. Parameter pertama fungsi adalah string, parameter kedua adalah jumlah karakter yang akan dihapus
function stringStripNCharsFromStart {
echo ${1:$2:${#1}}
}