4个回答
展开全部
加入修改的文件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是什么意思
追答
\( 和\)中见的.表示匹配任意一个字符,外面的.也是表示同样的意思
展开全部
sed 没有指定输入哦
如果有输入
单独这一句的意思就是把每一行的首个字符由小写转换成大写,输出到标准输出,首字符不是小写字母则直接输出
如果有输入
单独这一句的意思就是把每一行的首个字符由小写转换成大写,输出到标准输出,首字符不是小写字母则直接输出
追问
s/^\(.\).*/\1/g
代表什么意思
追答
把每行内容替换为该行的首字符
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
保留行首第一个字符,并且将其大写
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询