この提案から次のようなスクリプトを作成しようとしました:
#!/bin/bash
if [ $# -eq 0 ]; then
tail -f /var/log/mylog.log
fi
if [ $# -eq 1 ]; then
tail -f /var/log/mylog.log | perl -pe 's/.*$1.*/\e[1;31m$&\e[0m/g'
fi
スクリプトに引数を渡さないとファイルの黒い尾が表示されますが、引数を渡すとすべての行が赤くなります。スクリプトに渡された単語を含む行だけに色を付けたいと思います。
たとえば、これは単語 "info" を含む行に色を付けます:
./color_lines.sh info
1 つの引数で動作するようにスクリプトを変更するにはどうすればよいですか?