如何使用Sed命令复制行首字符串并将其前置到对应行开头?
Sed实现每行首字符串复制到行首
- 需求:把每行第一个字符串复制一份,添加到该行开头,比如将
Text1 text2 50 Text3 text4 60
转换成
Text1 Text1 text2 50 Text3 Text3 text4 60
- 执行命令:
sed 's/^\(\w\+\)/\1 \1/' 你的文件名
命令说明:
s/:启动Sed的替换模式^\(\w\+\):定位行首,匹配第一个由字母/数字/下划线组成的连续单词,用括号把这段内容捕获为第1个分组,后续用\1引用/\1 \1/:把匹配到的内容替换成「原单词 + 空格 + 原单词」,相当于把第一个单词复制一份放在它自身前面
直接处理文本内容(无需文件)的写法:
echo -e "Text1 text2 50\nText3 text4 60" | sed 's/^\(\w\+\)/\1 \1/'
执行后即可得到目标格式的输出。
内容的提问来源于stack exchange,提问作者user367640
相关产品推荐
相关产品推荐

