如何在Notepad ++下几行的开头添加行中的前缀?

塞拉丰

我想将一行用作多几行的前缀。例如,请考虑以下情况:

hostname-junek-1
;ge-1/0/1
;ge-1/0/2
;ge-1/0/5
;ge-1/1/27
;ge-1/1/39
hostname-junek-2
;ge-1/0/5
;ge-2/0/27
;ge-2/0/39
hostname-junek-3
;ge-1/1/1
;ge-2/1/13
;ge-2/1/17
;ge-2/1/11

我想收到这样的东西:

hostname-junek-1;ge-1/0/1
hostname-junek-1;ge-1/0/2
hostname-junek-1;ge-1/0/5
hostname-junek-1;ge-1/1/27
hostname-junek-1;ge-1/1/39
hostname-junek-2;ge-1/0/5
hostname-junek-2;ge-2/0/27
hostname-junek-2;ge-2/0/39
hostname-junek-3;ge-1/1/1
hostname-junek-3;ge-2/1/13
hostname-junek-3;ge-2/1/17
hostname-junek-3;ge-2/1/11

我该怎么做呢?使用notepad ++或其他方法。

恐怕使用Notepad ++无法做到这一点。

这是一个使用perl oneliner的解决方案:

cat inputfile 
hostname-junek-1
;ge-1/0/1
;ge-1/0/2
;ge-1/0/5
;ge-1/1/27
;ge-1/1/39
hostname-junek-2
;ge-1/0/5
;ge-2/0/27
;ge-2/0/39
hostname-junek-3
;ge-1/1/1
;ge-2/1/13
;ge-2/1/17
;ge-2/1/11

perl -ane 'if(/^(hostname-junek-\d+)\R/) {$host=$1;next}print "$host$_"' inputfile > outputfile 

cat outputfile
hostname-junek-1;ge-1/0/1
hostname-junek-1;ge-1/0/2
hostname-junek-1;ge-1/0/5
hostname-junek-1;ge-1/1/27
hostname-junek-1;ge-1/1/39
hostname-junek-2;ge-1/0/5
hostname-junek-2;ge-2/0/27
hostname-junek-2;ge-2/0/39
hostname-junek-3;ge-1/1/1
hostname-junek-3;ge-2/1/13
hostname-junek-3;ge-2/1/17
hostname-junek-3;ge-2/1/11

解释:

/                           # regex delimiter
  ^                         # beginning of line
    (hostname-junek-\d+)    # group 1, hostname...followed by 1 or more digits
    \R                      # any kind of linebreak
/                           # regex delimiter

if the regex matches the current line, {
    $host=$1;               # save the hostname
    next                    # skip to next line
}                           # endif
print "$host$_"             # print the content of $host followed by the current line

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Notepad ++中添加宏?

来自分类Dev

如何在文件开头添加行/文本

来自分类Dev

Notepad ++-如何在行首添加字符

来自分类Dev

如何在Notepad ++中删除以空格开头的行?

来自分类Dev

如何在Notepad ++中查看隐藏的字符?

来自分类Dev

如何在Windows窗体中嵌入notepad ++?

来自分类Dev

如何在Notepad ++中编辑Unicode文本?

来自分类Dev

如何在Notepad ++中缩进换行的文本?

来自分类Dev

如何在Notepad ++中关闭拼写检查?

来自分类Dev

如何在Windows窗体中嵌入notepad ++?

来自分类Dev

如何在Notepad ++中关闭拼写检查?

来自分类Dev

如何在Notepad ++中隐藏行号?

来自分类Dev

如何在Notepad ++中批量打印文件?

来自分类Dev

如何在Notepad ++中缩进代码

来自分类Dev

如何在Notepad ++中管理面板对接

来自分类Dev

如何在Notepad ++中删除相同的行?

来自分类Dev

如何在Notepad ++中激活拆分器?

来自分类Dev

如何在Notepad ++中激活代码折叠

来自分类Dev

如何在Notepad ++中删除或隐藏折线?

来自分类Dev

如何在 Notepad++ 中隐藏轮廓?

来自分类Dev

如何在宏中添加“输入”以替换Notepad ++中的文本?

来自分类Dev

Notepad ++如何在特定的列位置添加逗号?

来自分类Dev

Notepad ++如何在行尾附近替换或添加特定符号

来自分类Dev

如何在NOTEPAD ++中从xml中删除值

来自分类Dev

Notepad ++:如何在行的开头批量添加语法(正则表达式)

来自分类Dev

如何在JTable中动态添加行

来自分类Dev

如何在Bootstrap中动态添加行

来自分类Dev

如何在段落中添加行号?

来自分类Dev

如何在嵌套表中添加行