bash - bash中删除大写字母的单词

标签 bash sed tr

如何删除 BASH 字符串中包含大写字母的单词? 例如。

输入:

Taco burrito Mexico fiesta

输出:

burrito fiesta

我在 Stack Overflow 上看到的解决方案对我来说不起作用,因为我正在使用的 Linux 机器不接受 -r 开关。

最佳答案

您可以使用这个sed:

s='Taco burrito Mexico fiesta'
sed 's/[[:upper:]][^[:blank:]]*[[:blank:]]*//g' <<< "$s"

burrito fiesta

详细信息:

  • [[:upper:]]:匹配大写字母
  • [^[:blank:]]:匹配除空格或制表符之外的任何字符
  • [[:blank:]]:匹配空格或制表符

关于bash - bash中删除大写字母的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52563213/

相关文章:

xml - 使用 sed 在 xml 中复制一行并保持相同的缩进

linux - 为什么即使我已经在 VPS 中设置了公钥,ssh 总是要求我输入密码?

merge - sed:多行的条件合并

regex - 如何在linux命令行中的多个文件中用计数器附加值替换重复的字符串

linux - 使用 tr/sed 等在 Linux 上删除字符序列\r\n

linux - 行尾(新行)在 bash 中转义

Bash:将标准输入复制到文件

linux - 使用标准 unix 工具在文件中间插入行

bash - 使用 sed 或 awk 或任何东西有条件地删除前 N 个字符

ubuntu - 如何用一个字符替换多个字符?