詳細:
tail-fを使用して着信ストリームのファイルを読み取っています
sedを使用して、ストリーム内の文字/文字列を検索して置き換えることができます。
tail -f a.log | sed 's/'`echo -e "\xnn"`'/'`echo "$(tput setaf 1)|sep|$(tput sgr0)"`'/g'
上記の結果は、区切り文字列の明確な視覚的マーカーを提供することです(この場合、印刷できない16進文字nnです。例として、nnは05であり、(tputを介して)色付きの赤(この場合)に置き換えます。 )文字列|sep|。
だから私は次のようなものを手に入れます
field **|sep|** field **|sep|** field **|sep|**
私が欲しいのは
field **|sep#1|** field **|sep#2|** field **|sep#3|**
したがって、要件は、置換文字列でn番目の一致をそのようにマークすることです(| sepn |ここで、nは検出された一致の数です)