Bil*_*ly 4 sed perl text-processing
我有一个文本文件,其中每一行的格式与此类似:
%#&#%# [Dinero] / Money /
!#@%$@ [Dia] / Day /
$%&$^#@ [Perro] / Dog /
Run Code Online (Sandbox Code Playgroud)
我正在寻找提取括号内的单词,即。Ola、Dinero、Perro 等,并将其全部逐行保存到新的文本文件中。本质上,我希望省略/删除/擦除所有单词、字母、特殊字符以及括号之外的任何其他内容,包括括号本身。
在...的帮助下awk,
$ awk -F'[][]' '{print $2}' < input
Dinero
Dia
Perro
Run Code Online (Sandbox Code Playgroud)
使用grep,
grep -oP '\[\K[^\]]+' input
Run Code Online (Sandbox Code Playgroud)
\K意味着使用环视正则表达式高级功能。更准确地说,这是一个积极的后向断言
如果您缺少该-P选项,您可以通过以下方式执行此操作perl:
perl -lne '/\[\K[^\]]+/ and print $&' input
Run Code Online (Sandbox Code Playgroud)
使用-i选项就地编辑文件。
或者您可以cut按照@juliepelletier的建议使用,
cut -d"[" -f2 < input | cut -d"]" -f1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7928 次 |
| 最近记录: |