Sed 如何在特定登录bash后删除部分文本
我有一个.txt文件,其中包含以下数据:Sed 如何在特定登录bash后删除部分文本,sed,Sed,我有一个.txt文件,其中包含以下数据: user-5 user-10 user-12 user-23(some text) user-11@dsa.dsd user-23-sometext 我只想留下用户编号。因此,我必须删除@,)和第二个-之后的文本 我正在尝试使用sed命令,已成功使用@和)。如何删除第二个-之后的文本? 我的代码:sed's/[)|@].//g' sed 's|\(user-[0-9]*\).*|\1|' 通过这种方式,您不需要包含所有可能终止用户号码匹配的字符。gr
user-5
user-10
user-12
user-23(some text)
user-11@dsa.dsd
user-23-sometext
我只想留下用户编号
。因此,我必须删除@
,)
和第二个-
之后的文本
我正在尝试使用sed命令,已成功使用@
和)
。如何删除第二个-
之后的文本?
我的代码:sed's/[)|@].//g'
sed 's|\(user-[0-9]*\).*|\1|'
通过这种方式,您不需要包含所有可能终止用户号码匹配的字符。
grep-o'^[^-]*-[0-9]*'文件
?使用GNU awk:awk'NF=2'FS='[(@-]'文件