以下のコマンドを使用して出力行を黄色に塗りつぶすと、実際にlessがcatに変わり、ファイル全体が印刷され、改ページの停止、ナビゲーションの許可など、必要なすべての機能が無効になります。 lessの操作を実行するために使用できるほとんどの引数も無視されます。 sed カラーシーケンスによってlessの機能が中断されるのを防ぐ方法はありますか?
less file | sed -e 's/\(.*DATA.*\)/\o033[93m\1\o033[39m/'
答え1
less
sed
たぶん他の方法ではなくの出力に使用しようとしたかもしれません。
sed -e 's/\(.*DATA.*\)/\o033[93m\1\o033[39m/' file | less -R
追加資料:
答え2
出力をパイプに送信するにはless
コマンドがまったく必要なく、検索されたパターンが強調表示される方法(in)などを設定するだけです。sed
less
.bashrc
export LESS_TERMCAP_so=$'\e[93m' # begin standout mode
export LESS_TERMCAP_se=$'\e[m' # end standout mode
次に、オプションをless
使用して実行します-p
。
less -p '.*DATA.*' file