linux中sed 's/^\t/apple\t/' 是什么意思呢?该如何理解它

另外,这个又是什么意思呢?sed '1 s/^/a1\ta2/'

您好很高兴回答您的问题:

    \t表示 tab键或tab字符 一般是8个空格长度的"大"空格

    \t含义

    ^是正则表达式表示 以....开头的部分  ^r 表示以r字母开头的行   

    ^含义

    sed的替换格式  s///  或 s### 表示替换

    s##替换

    最后问题可以改为s### 形式,'s#^\t#apple\t#'  表示把开头的tab字符替换为apple+tab字符

    最后效果图

    最后一个问题:  可以改为 sed '1 s#^#a1\ta2#'    1表示第1行, s###表替换,把开头的空字符,替换为a1tab键a2  

    请点击输入图片描述



理解了,点个赞吧,不理解继续问.

追问

非常感谢,解释的很清楚!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-06-29
意思就是把一行内的第一个什么东西替换成什么东西。
s///或者s###
^:锚定行首
就是我^不管代替的什么最终行内第一个单词都会变成apple\t6789
例如:文件内你指定的一行为2345\t那么你把2345忘了,只记得有个\t
sed /^\t/apple\t/输出结果为apple\t6789
【注:本回答于个人理解,有错误的地方或者分析错了还请各大佬纠正,常言说授人以鱼不如授人以渔】
第2个回答  2021-06-30
将所有以'\t'(tab符)开头的行, 在开头全部加上apple这个单词
相似回答