Linux 删除包含随机数的字符串
我应该怎么做才能获得报告的以下输出: 我想删除用户名和“]”后面的字符串,以及人名后面的整个字符串“:/export/home/username:/bin/csh” 输出: 以及如何在“]”之后和“:/export/home/username:/bin/csh”之前输入字符串,这是用户的全名Linux 删除包含随机数的字符串,linux,string,concatenation,Linux,String,Concatenation,我应该怎么做才能获得报告的以下输出: 我想删除用户名和“]”后面的字符串,以及人名后面的整个字符串“:/export/home/username:/bin/csh” 输出: 以及如何在“]”之后和“:/export/home/username:/bin/csh”之前输入字符串,这是用户的全名 Juan Dela Cruz Don Quijote Uncle Sam 另一个帐户列表另存为latestmail.txt jcaole:x:64349:2000:Joanah C. Caole:/ex
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
:
BEGIN {}
{
split($0, arr, ":");
username = arr[1];
gunk = arr[3];
match(gunk, /\[(.*?)\]/, gunk_bits);
print username gunk_bits[1];
}
END {}
BEGIN {}
{
split($0, arr, ":");
gunk = arr[3];
match(gunk, /\[(.*?)\](.*?)/, gunk_bits);
print gunk_bits[2];
}
END {}
首先,创建一个名为foo.awk
的文本文件:
BEGIN {}
{
split($0, arr, ":");
username = arr[1];
gunk = arr[3];
match(gunk, /\[(.*?)\]/, gunk_bits);
print username gunk_bits[1];
}
END {}
BEGIN {}
{
split($0, arr, ":");
gunk = arr[3];
match(gunk, /\[(.*?)\](.*?)/, gunk_bits);
print gunk_bits[2];
}
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
jdelacruz@gmail.com
dquijote@yahoo.com
usam@live.uk
要获取其他内容,请创建一个名为baz.awk
的文本文件:
BEGIN {}
{
split($0, arr, ":");
username = arr[1];
gunk = arr[3];
match(gunk, /\[(.*?)\]/, gunk_bits);
print username gunk_bits[1];
}
END {}
BEGIN {}
{
split($0, arr, ":");
gunk = arr[3];
match(gunk, /\[(.*?)\](.*?)/, gunk_bits);
print gunk_bits[2];
}
END {}
然后:
这是LinuxThank@Alex Reynolds中的一个文本文件,让我的系统管理员这样做,因为他有根密码。当我使用脚本并运行时,出现了一个错误“awk:syntax error near line 6”,即使我们将其权限更改为“chmod+x foo.awk”,也可能检查您正在使用的
awk
的版本。在这里工作正常:$awk--version\n GNU awk 4.1.0,API:1.0