0

文字列があるとします:

au sujet de l article card -> your advice about rule (0.000000082860230)
au sujet de l article card -> would therefore like some (0.000000082860230)

一般的にそのように:

 6 words -> n words (value)

たとえば、このような値で6つの単語を抽出するアイデアを探しています

 au sujet de l article card 0.000000082860230
 au sujet de l article card 0.000000082860230

何かアイデアはありますか?

どうもありがとう

4

3 に答える 3

1

上記の回答に加えて、Perl では以下を使用できます。

$ echo "$line" | perl -lne 'print "$1 $2" if /(.*) -> .* \((.*)\)/'
于 2013-05-14T19:37:35.683 に答える
1

の仕事のようですねawk:

echo "$line" | awk '{ value=$NF; gsub(/[\(\)]/,"",value); print $1,$2,$3,$4,$5,$6,value }'

これにより、最初の 6 フィールドと、正規表現で括弧を削除した後の最後のフィールドが出力されます。

于 2013-05-14T19:36:34.830 に答える
0

私は何かを試してみます

echo "$line" | sed -e 's/->.*(//' -e 's/)$//'

これは機能するはずです...フェイルセーフではありませんが(たとえば、20 words -> 1 char (value)代わりに を使用しても文句はありません6 words -> n words (value)

于 2013-05-14T19:34:10.523 に答える