里面随机数删除字符串
问题描述:
我应该怎么做才能让下面的输出为我的报告:里面随机数删除字符串
我想它的用户名后删除字符串和“]”,也经过了整个字符串。这个人的名字 “:/导出/家/用户名:/ bin中/ CSH”
jdelacruz:x:327[@gmail.com]Juan Dela Cruz:/export/home/jdelacruz:/bin/csh
dquijote:x:304[@yahoo.com]Don Quijote:/export/home/dquijote:/bin/csh
usam:x:314[@live.uk]Uncle Sam:/export/home/usam:/bin/csh
输出:
[email protected]
[email protected]
[email protected]
而且还我如何在“后弦] “与之前的 ”:/导出/家/用户名:/ bin中/ CSH“,这是用户
Juan Dela Cruz
Don Quijote
Uncle Sam
的全名帐户的另一个列表保存为latestmail.txt
jcaole:x:64349:2000:Joanah C. Caole:/export/home/jcaole:/bin/csh
jdantonio:x:64054:2000:Joseph D. Antonio:/export/home/jdantonio:/bin/csh
ljobando:x:65018:2000:Lervin John M. Obando:/export/home/ljobando:/bin/csh
答
这里是你如何能与awk
做到这一点:
首先,创建一个文本文件名为foo.awk
:
BEGIN {}
{
split($0, arr, ":");
username = arr[1];
gunk = arr[3];
match(gunk, /\[(.*?)\]/, gunk_bits);
print username gunk_bits[1];
}
END {}
比方说,你有一个文本文件名为bar.txt
:
jdelacruz:x:327[@gmail.com]Juan Dela Cruz:/export/home/jdelacruz:/bin/csh
dquijote:x:304[@yahoo.com]Don Quijote:/export/home/dquijote:/bin/csh
usam:x:314[@live.uk]Uncle Sam:/export/home/usam:/bin/csh
您可以awk
它像这样:
$ awk -f foo.awk bar.txt
[email protected]
[email protected]
[email protected]
为了得到其他的东西,创建一个名为baz.awk
的文本文件:
BEGIN {}
{
split($0, arr, ":");
gunk = arr[3];
match(gunk, /\[(.*?)\](.*?)/, gunk_bits);
print gunk_bits[2];
}
END {}
Then:
$ awk -f baz.awk bar.txt
Juan Dela Cruz
Don Quijote
Uncle Sam
[$ man cut](http://linux.die.net/man/1/cut) – 2014-09-03 09:21:44
哪种语言? – 2014-09-03 09:28:31
其在Linux中的文本文件 – Botni 2014-09-04 02:04:11