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

linuxshell命令,谁帮忙解释下... linux shell 命令,谁帮忙解释下 展开
 我来答
antisunny
推荐于2018-05-11 · TA获得超过450个赞
知道小有建树答主
回答量:251
采纳率:0%
帮助的人:110万
展开全部
  • 加入修改的文件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%
帮助的人:2901
展开全部
sed 没有指定输入哦

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式