我想在第n次连续出现一个字符(;
)之后打印一个字符串行的其余部分。
例如:
string -> USER=5000;ALL;tree1;tree1;4;;3;MM_;;;;;;;;main
我希望在使用;
或sed
awk
的第5次出现后打印剩余的一行。
答案 0 :(得分:0)
删除第五或第n;并打印其余的
$ awk '{sub(/^([^;]*;){5}/,"")}1' file
;3;MM_;;;;;;;;main
答案 1 :(得分:0)
awk 方法(接受可选参数n
以指定;
次出现次数):
s="string -> USER=5000;ALL;tree1;tree1;4;;3;MM_;;;;;;;;main"
echo $s | awk -F';' -v n=5 '{o=""; for(i=n+1;i<=NF;i++){ o=o $i FS }{print o}}' OFS=';'
sed 方法:
s="string -> USER=5000;ALL;tree1;tree1;4;;3;MM_;;;;;;;;main"
echo $s | sed -En 's/^([^;]*;){5}//p'
输出(两种方法):
;3;MM_;;;;;;;;main
-E
选项,允许扩展正则表达式
答案 2 :(得分:0)
Dim Button As CommandButton
With Knap
Set Button = .Object
With Button
.Caption = "Eksporter til PDF"
.BackColor = vbRed
.Font.Underline = True
...
End With
...
End With