将slug格式的术语列表转换为大写单词

・1 分钟阅读

 $ sed -e 's/^./U&/' -e 's/_./U&/g' -e 's/_/ /g' /path/to/input

说明

采取这样的输入:


police_station
post_office
real_estate_agency

..并将其转换为如下输出:


Police Station
Post Office
Real Estate Agency

  • -e ...sed命令可以采用几个-e参数,在处理输入中的每一行时一个执行一个,
  • s///命令是模式替换它有通用格式s/pattern/replacement/flags
  • s/^./U&/ -用大写字母替换行的第一个字母: U表示转换为大写,&为匹配字符串,
  • s/_./U&/g -替换_及它后面的任何字母,末尾的g标志表示"全局"替换,因此模式_.的所有事件都将被替换,
  • s/_//g -用空格替换所有下划线
  • sed的输入可以来自文件列表,也可以来自<的输入重定向,也可以来自管道。
Hujiuxiang profile image