如何在unix shell脚本中剪切文件中的特定字符

如何在unix shell脚本中剪切文件中的特定字符,shell,unix,ip,character,cut,Shell,Unix,Ip,Character,Cut,我有个问题。我有一份档案。该文件包含大约100行,每行是一个IPv6地址。我的任务是在块的第一个位置剪切0,或者如果它只包含0,则删除整个块。 以下是一个例子: 原件: 2001:0db8:03cd:0000:0000:ef45:0006:0123 修改: 2001:db8:3cd:::ef45:6:123 提前通知 试试看: awk '{for(i=1; i<=NF; i++) sub(/^0+/,x,$i)}1' FS=: OFS=: file 成功了。非常感谢你。你能给我一个类

我有个问题。我有一份档案。该文件包含大约100行,每行是一个IPv6地址。我的任务是在块的第一个位置剪切0,或者如果它只包含0,则删除整个块。 以下是一个例子: 原件:

2001:0db8:03cd:0000:0000:ef45:0006:0123
修改:

2001:db8:3cd:::ef45:6:123
提前通知

试试看:

awk '{for(i=1; i<=NF; i++) sub(/^0+/,x,$i)}1' FS=: OFS=: file

成功了。非常感谢你。你能给我一个类似的代码,我可以在powershell中使用吗?
perl -pe 's/(^|:)0+/$1/g' file