tail -f
пытается использовать механизм уведомления об изменении файла ( inotify ). SSHFS, как и любая другая файловая система FUSE , не поддерживает этот механизм. Обычно tail
должен обнаруживать это самостоятельно. Если это не сработает, вы можете использовать недокументированную опцию --- disable-inotify
(начиная с трех тире, потому что это недокументированная опция), чтобы принудительно использовать режим опроса, который работает в любой файловой системе.
tail ---disable-inotify -n 500 -f my_text_file
Решение sed .
Удаление строк перед первой в диапазоне:
cat file | sed '/abcd/Q'
Удаление строк после последней в диапазоне:
cat file | sed -n '/abcf/,$p'
-n : don't print non-matches
,$ : first match to end of file
p : print
Сборка:
cat file | sed '/abcd/Q | sed -n '/abcf/,$p'
Шаблоны будут соответствовать любому полю в строке, поэтому вам потребуется лучший шаблон, чтобы он соответствовал только второму полю:
cat file | sed -r -n '/^[^\|]+\|abcd/,$p' | sed -r '/^[^\|]+\|abce/Q'
Самый простой диапазон с использованием sed::
cat file | sed -n '/abc[def]/p'
записывает в диапазоне abcd -abcf с использованиемgrep
:
grep -E '^[^\|]+\|abc[d-f]\|'
Все -в -одно sed
решение, запись диапазона от abcd
до abcf
в файл с именем other
, а остальные строки передаются на стандартный вывод. Таким образом, вам не придется просматривать файл дважды.
sed -e '/|abcd|/,/|abcf|/{wother' -e 'd;}'