Câu trả lời:
Sử dụng cut
. Ví dụ. để loại bỏ 4 ký tự đầu tiên của mỗi dòng (tức là bắt đầu trên char thứ 5):
tail -f logfile | grep org.springframework | cut -c 5-
grep --line-buffered "org.springframework
để giải quyết vấn đề đó.
Bạn có thể sử dụng cut
:
cut -c N- file.txt > new_file.txt
-c:
nhân vật
file.txt:
tập tin đầu vào
new_file.txt:
tập tin đầu ra
N-:
Các ký tự từ N đến cuối được cắt và xuất ra tệp mới.
Cũng có thể có các đối số khác như: 'N', 'N-M', '-M' có nghĩa là ký tự thứ n, ký tự thứ n đến mth, ký tự đầu tiên đến mth.
Điều này sẽ thực hiện các hoạt động cho từng dòng của tập tin đầu vào.
tail -f logfile | grep org.springframework | cut -c 900-
sẽ loại bỏ 900 ký tự đầu tiên
cut
sử dụng 900- để hiển thị ký tự thứ 900 đến cuối dòng
tuy nhiên khi tôi chuyển tất cả những thứ này qua grep tôi không nhận được gì
Tôi nghĩ rằng đây awk
sẽ là công cụ tốt nhất cho việc này vì nó có thể vừa lọc vừa thực hiện các chức năng thao tác chuỗi cần thiết trên các dòng được lọc:
tail -f logfile | awk '/org.springframework/ {print substr($0, 6)}'
hoặc là
tail -f logfile | awk '/org.springframework/ && sub(/^.{5}/,"",$0)'