aaaaaaaa 09
bbbbbbbb 90
ccccccccccccccc 89
ddddd 09
Run Code Online (Sandbox Code Playgroud)
使用 sed/awk/replace,在上面的文本中,我想删除每行第一个空格之后的任何内容。例如,输出将是:
aaaaaaaa
bbbbbbbb
ccccccccccccccc
ddddd
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激。
Kev*_*vin 44
sed
sed 's/\s.*$//'
Run Code Online (Sandbox Code Playgroud)
格雷普
grep -o '^\S*'
Run Code Online (Sandbox Code Playgroud)
awk
awk '{print $1}'
Run Code Online (Sandbox Code Playgroud)
正如评论中指出的那样,-o不是 POSIX;然而 GNU 和 BSD 都有它,所以它应该适用于大多数人。
此外,\s/\S可能并非在所有系统上都存在,如果您的系统无法识别它,您可以使用文字空格,或者如果您想要空格和制表符、括号表达式 ( [...]) 中的那些或[[:blank:]]字符类(请注意,严格来说\s是等效于[[:space:]]并包括垂直间距字符以及您可能不关心的 CR、LF 或 VT)。
在awk 一个假设的线不以空白字符开头。
Sté*_*las 15
cut -d ' ' -f 1 < your-file
Run Code Online (Sandbox Code Playgroud)
将是最有效的。
awk '{print $1}' file
Run Code Online (Sandbox Code Playgroud)
或者
sed 's/ .*//'
Run Code Online (Sandbox Code Playgroud)