如何使用Sed将文本文件中第一列和第二列中的字母更改为大写

时间:2016-10-27 19:31:44

标签: sed

我的文本文件input.txt有

april,december,month.gmail.com
lion,tiger,animal.gmail.com

使用sed将第一列和第二列更改为大写?有办法吗?

1 个答案:

答案 0 :(得分:2)

使用GNU sed:

s
  • [a-z]*,:替换命令
  • ,:搜索零个以上的小写字母后跟\U。对第二个字段重复该模式
  • \U序列将替换为大写
  • &适用于引用匹配字符串
  • sed 's/^[a-z].*,/\U&/' file

或者如果只有三个以逗号分隔的字段:

APRIL,DECEMBER,month.gmail.com
LION,TIGER,animal.gmail.com

输出:

s/^.*,/\U&/

正如@Sundeep建议的那样,第二个sed可以缩短为:

,

将所有字符转换为找到最后一个dir

有关GNU sed替换命令的更多信息,请参阅this article