小编Vir*_*tos的帖子

如何仅删除所有用大写字母写的单词(通过使用sed和/或awk)

我试图仅使用sed删除所有用大写字母写的单词:

sed -r "s/\b[A-Z]\w*\s*//g" < file1 > file2
Run Code Online (Sandbox Code Playgroud)

但是此解决方案会捕获所有以大写字母开头的单词并将其删除(这不是目标)。

这是一个例子:

file1内容:

sed -r "s/\b[A-Z]\w*\s*//g" < file1 > file2
Run Code Online (Sandbox Code Playgroud)

结果应该是这样的(file2内容):

AAAAAAAAAAAA
BBbbbbb
AbAbAbAb
aaaaaBBBBB
AAAAAA BBBBBB
A1-B1
a1-b1
A1-b1 AA
AAAAA BBBBB AAAAA
Abbbb AAA
AAAAA AAAABB
Abbbb Baaaa Aaaaa AB
AAAAAA1
BBBBBBb
AAAAAA 1
BBBBBB b
Run Code Online (Sandbox Code Playgroud)

每行至少包含一位数字或一个小写字母,应保持原样(不应删除)。

bash shell awk sed

3
推荐指数
1
解决办法
3055
查看次数

标签 统计

awk ×1

bash ×1

sed ×1

shell ×1