Відповіді:
Використовуйте cut
. Напр. щоб зняти перші 4 символи кожного рядка (тобто почати з 5-го символу):
tail -f logfile | grep org.springframework | cut -c 5-
grep --line-buffered "org.springframework
для вирішення цього питання.
Ви можете використовувати cut
:
cut -c N- file.txt > new_file.txt
-c:
символів
file.txt:
вхідний файл
new_file.txt:
вихідний файл
N-:
Символи від N до кінця потрібно вирізати та вивести у новий файл.
Також можуть бути інші аргументи, такі як: 'N', 'N-M', '-M', що означає n-й символ, n-й m-символ, перший mth символ відповідно.
Це виконає операцію з кожним рядком вхідного файлу.
tail -f logfile | grep org.springframework | cut -c 900-
видалить перші 900 символів
cut
використовує 900-, щоб показати 900-й символ до кінця рядка
Однак коли я передаваю все це через grep, я нічого не отримую
Я думаю, що це awk
було б найкращим інструментом для цього, оскільки він може фільтрувати та виконувати необхідні функції маніпулювання рядками на відфільтрованих лініях:
tail -f logfile | awk '/org.springframework/ {print substr($0, 6)}'
або
tail -f logfile | awk '/org.springframework/ && sub(/^.{5}/,"",$0)'