(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【Linux】cutコマンドで2文字以上の区切り文字を使いたい

スポンサーリンク

やりたいこと

文字列の分割に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.

以上、ご参考ください。