sed 's/ /\t/g'中的/g是什么意思?

为什么有时候不加/g呢?sed's//\t/g'的输出是把文件里的空格用\t替代,g的作用是什么呢?... 为什么有时候不加/g呢?sed 's/ /\t/g'的输出是把文件里的空格用\t替代,g的作用是什么呢? 展开
 我来答
兔老大米奇
高粉答主

2019-11-30 · 醉心答题,欢迎关注
知道小有建树答主
回答量:988
采纳率:100%
帮助的人:15万
展开全部

sed的替换命令格式:s/A/B/g 或者 s#A#B#g 或者 s_A_B_g#。

只是分隔符而已,为满足格式需要。将所有制表符\t替换为|g表示全局替换,有多少次替换多少次。

s 是替代命令. s/表达式/replacement/

空白用t替代。如果你的unix中 \t表示tab键,则用tab键替代。

g(GLOBAL)的作用从下例可以看出

g -- 全部替代

无g -- 只替代每行第一个。

扩展资料

举例

a.txt内容:

a b c d [a白b白c白d]

e f g h [e白白f白白g白白h]

cat a.txt | sed 's/ /\t/g'

结果为

atbtctt

ettfttgtth

cat a.txt | sed 's/ /\t/'

结果为

atb c d

et f g h

L_o_o_n_i_e
推荐于2017-09-02 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:5202万
展开全部
忘了.凭记忆:
s 是替代命令. s/表答式/replacement/
空白用t替代。如果你的unix中 \t表示tab键,则用tab键替代。
g(GLOBAL)的作用从下例可以看出
g -- 全部替代
无g -- 只替代每行第一个

例如,a.txt内容:
a b c d [a白b白c白d]
e f g h [e白白f白白g白白h]

cat a.txt | sed 's/ /\t/g'
结果为
atbtctd
ettfttgtth

cat a.txt | sed 's/ /\t/'
结果为
atb c d
et f g h
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式