与えられたフローは次のとおりです。
[foo] 123 [bar]
[gar] dsa [har] 345
[uf] 88 [gc] 43 [br]
これを処理するためにsed(または他のもの)を使用したいので、出力は次のようになります。
foo bar
gar har
uf gc br
頑張ったcat myfile | sed -e 's/^.*\[//;s/\].*$//'
しかし、それは私に最後のインスタンスだけを与えます。
私の実際の入力は次のとおりです。
53f42d4 [the contacts are duplicated] Adding support in picking email verified users [https://trello.com/c/663]
3c454b0 [the contacts are duplicated] splitting contact by phone numbers and emails and changing contact model to contain only 1 email [https://trello.com/c/663]
0e63e5b [we should not let a user confirm his email if we have a user with this confirmed email already] better doc [https://trello.com/c/643]
02671b7 [we should not let a user confirm his email if we have a user with this confirmed email already] preventing updating email if already in used by other user [https://trello.com/c/643]
だから私は最初の行を取得したいと思います:
the contacts are duplicated https://trello.com/c/663
ベストアンサー1
awkもこれに適しています。[
または ]
フィールド区切り記号でそれぞれ印刷優秀土地:
awk -F '[][]' '{for (i=2; i<=NF; i+=2) {printf "%s ", $i}; print ""}' file
sed を使用して次のように作成します。
sed -E 's/(^|\])[^[]*($|\[)/ /g' file