![awk -F ':' '{print $2}' に相当する sed はありますか?](https://rvso.com/image/567614/awk%20-F%20'%3A'%20'%7Bprint%20%242%7D'%20%E3%81%AB%E7%9B%B8%E5%BD%93%E3%81%99%E3%82%8B%20sed%20%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B%3F.png)
おそらく、次の awk コマンドと同等のものを sed で (最も簡単に) 見つけるのを手伝ってくれる人がいます。
echo "first:second:third"|awk -F ':' '{print $2}'
second
答え1
$ echo "a:b:c" | sed 's/^[^:]*:\([^:]*\):.*$/\1/'
b
答え2
を使うこともできますcut
。
echo "first:second:third" | cut -f 2 -d ":"
sed
これには不適切なツールだと思います。awk
おそらく最もクリーンです。
答え3
これも有効です
echo "a:b:c" | sed 's|.*:\(.*\):.*$|\1|'
(...) の間のテキストを \1 として保存し、それを文字列全体に置き換えます。
答え4
Perl の代替:
echo "first:second:third" | perl -F':' -lane 'print $F[1]'