やりたいこと
文字列の分割に2文字以上の区切り文字を使いたい。
# echo "123<>abc<>def<>456"
を123 abc 456で切り出すなど。
環境情報
# cut --version cut (GNU coreutils) 8.26
やり方
awkを用いて実現させます
例えば<>が区切り文字であったとすると以下のように指定した文字列を取得できます。
$ # echo "123<>abc<>def<>456" | awk 'BEGIN{FS="<>"}{print $2}' abc
以下、補足です。
補足
以下記事と同じ構成です。
一行の中で区切り文字で表現されているテキストから
特定の値を取り出すコマンドとしてcutコマンドがあります。
ただし区切り文字を文字ではなく文字列で指定すると以下エラーとなります。
# echo "123<>abc<>def<>456" | cut -d"<>" -f2 cut: the delimiter must be a single character Try 'cut --help' for more information.
以上、ご参考ください。