sed 's/^\(.\).*/\1/g' | tr 'a-z' 'A-Z'是什么意思

linuxshell命令,谁帮忙解释下... linux shell 命令,谁帮忙解释下 展开
 我来答
antisunny
推荐于2018-05-11 · TA获得超过450个赞
知道小有建树答主
回答量:251
采纳率:0%
帮助的人:109万
展开全部
  • 加入修改的文件a.txt内容是:

    • zapple

    • 2pearl

    • Ssmilence

    • #potato

  • sed 's/^\(.\).*/\1/g' a.txt | tr 'a-z' 'A-Z' 结果是:

    • Z

    • 2

    • S

    • #

  • 分析:

  • s/^\(.\).*/\1/g是正则表达式埋让的替换 s/A/B/ 就是A替换B,而A是^\(.\).*(^表示行首,\( 和\)是有特殊用途的,表示把括号中的内容剔除出来,会一次放到\1 \2 \3这些变量中的,若果有多个括号的话,\( 和\)中见的.表示匹配任意一个字符乱液晌),这样通过sed 's/^\(.\).*/\1/g'内容变成了

    • z

    • 2

    • S

    • #

  • tr 'a-z' 'A-Z'相当于uc,字哗锋符由小写转换成大写

追问
^\(.\).*   右括号后面加.是什么意思,这个.可以不要吗?
/g是什么意思
追答
\( 和\)中见的.表示匹配任意一个字符,外面的.也是表示同样的意思
hustltx958
2013-08-21
知道答主
回答量:2
采纳率:0%
帮助的人:2894
展开全部
sed 没有指定输入哦

如果凳晌粗有输入
单独枣镇这一句的意思就是把每一行的首个字符由小谨轮写转换成大写,输出到标准输出,首字符不是小写字母则直接输出
追问
s/^\(.\).*/\1/g
代表什么意思
追答
把每行内容替换为该行的首字符
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f1edbb8
2013-08-21 · TA获得超过1048个赞
知道小有建树答主
回答量:1159
采纳率:0%
帮助的人:523万
展开全部
保留行首第一个字符,并且将其大写
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
琉橙球e
2018-06-09
知道答主
回答量:1
采纳率:0%
帮助的人:859
展开全部
,是因为嘎m
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式