次の形式の文字列のリストがあります。その部分を抽出するにはどのコマンドを使用できますか?私はgrepを使ってキーワード(ADD、ユーザー名(atra522)など)を抽出しようとしています。この問題をどのように解決するのですか?
cop1010 ADD atra522,Allison Track,CT,canada
Cut または awk を使用してコンマを検索してすべてのフィールドを取得する方法を知っていますが、最初のフィールド「cop1010 ADD atra522」で動作する方法を知りません。
ベストアンサー1
と言われたので、bash
シェル組み込み機能を使ってすべての作業を行ってみましょう。
$ inp="cop1010 ADD atra522,Allison Track,CT,canada"
$ IFS=, fields=($inp)
$ echo ${fields[0]}
cop1010 ADD atra522
$ echo ${fields[1]}
Allison Track
$ echo ${fields[2]}
CT
$ echo ${fields[3]}
canada
$ IFS=\ cmd=(${fields[0]})
$ echo ${cmd[0]}
cop1010
$ echo ${cmd[1]}
ADD
$ echo ${cmd[2]}
atra522
$
これをエコーする代わりにすべて変数に設定することができ、実行するためにサブシェルや他のツールを作成する必要はありawk
ませんcut
。