0

一部のテキスト ファイルには、多くの[with text inside]. 括弧内にあるものだけを印刷したい。ブラケットの数はファイルが不明であり、解析するファイルごとに異なります。

で解析しようとしましsedたが、できませんでした。

4

4 に答える 4

1

または、次を試すこともできます。

awk 'NR>1{print $1}' RS=\[ FS=\] file

例えば

$ printf 'First part of foo [bar] not present, ["hello" can be\non a different\nline from "world" ] inside  brackets\n' |
awk 'NR>1{print $1}' RS=\[ FS=\]
bar
"hello" can be
on a different
line from "world"
$
于 2013-03-30T04:51:43.243 に答える
1
perl -nE'say for /\[( [^\[\]]* )\]/xg;'

または、コンテンツが複数の行にまたがる場合。

perl -0777nE'say for /\[( [^\[\]]* )\]/xg;'

ファイル名を引数として渡すか、STDIN を使用できます。

于 2013-03-30T02:45:37.763 に答える