Linux给文件隔两个字符插入 -

需求:如下 maclist.txt 文件,每行都是固定个数字符串,现在需要在每行隔两个字符插入一个 -

 

解决方案:

使用sed命令进行插入替换,并将内容重新写入 new.txt 文件中

sed   s/ 是sed替换命令参数,\(.\) 匹配任意一个字符,\1 和 \2 分别引用第一个和第二个括号内匹配的值,- 是要插入的字符,g 表示全局替换

sed  s/ 是sed替换命令参数,.$/ 表示每行末尾最后一个字符,^./ 表示每行行首第一个字符,$ 表示行尾,^ 表示行首,. 表示1个字符,.. 表示2个字符, sed 's/..$/MAC/' 表示将每行行尾的两个字符替换为 MAC

cat maclist.txt | sed 's/\(.\)\(.\)/\1\2-/g' | sed 's/.$//' > new.txt

 

posted @ 2024-04-25 15:37  凡是過往;皆為序章  阅读(18)  评论(0编辑  收藏  举报