各行の形式には、次のテキストファイルがあります。
%#&#%# [Dinero] / Money /
!#@%$@ [Dia] / Day /
$%&$^#@ [Perro] / Dog /
つまり、括弧内の単語を抽出しようとします。 Ola、Dinero、Perroなどをすべて1行ずつ新しいテキストファイルに保存します。基本的には省略/削除/削除したいと思います。みんな単語、文字、特殊文字、角かっこ自体など、角かっこ以外のすべての項目です。
答え1
の助けを借りてawk
...
$ awk -F'[][]' '{print $2}' < input
Dinero
Dia
Perro
使用grep
、
grep -oP '\[\K[^\]]+' input
\K
使用することを意味する周りを見てください高度な正規表現機能。より正確には、肯定的な逆方向の主張
そのオプションがない場合は、-P
次の方法で実行できますperl
。
perl -lne '/\[\K[^\]]+/ and print $&' input
オプションを使用して-i
ファイルを所定の位置に編集します。
あるいは、cut
@juliepelletierが提案したように使用することもできます。
cut -d"[" -f2 < input | cut -d"]" -f1
答え2
sed 's/^.*\[//;s/\].*$//' /path/to/input > /path/to/output