使用sed或awk从行的开头删除句点字符

使用sed或awk从行的开头删除句点字符,awk,sed,replace,Awk,Sed,Replace,希望有人能帮助我。我正试图从一个大列表中的一行开头删除一个句点字符 示例输入列表 .doubleclick.com .doubleclick.net 0------------0-------------0.0n-line.info 0----0.0----0.1596.hk 如果您尝试过此sed管道sed的/^./'output.txt 但这给了我 doubleclick.com doubleclick.net ------------0-------------0.0n-line.info

希望有人能帮助我。我正试图从一个大列表中的一行开头删除一个
句点字符

示例输入列表

.doubleclick.com
.doubleclick.net
0------------0-------------0.0n-line.info
0----0.0----0.1596.hk
如果您尝试过此sed管道
sed的/^./'output.txt

但这给了我

doubleclick.com
doubleclick.net
------------0-------------0.0n-line.info
我尝试了各种其他的建议,但没有任何效果,因为它剥离了第一个句号,但也剥离了
0.
域名,如
0-------0-------0.0n-line.info


我只需要去掉第一个点,其他什么都不需要。

是一个元字符,可以匹配任何字符,因此您需要将其转义,以逐字匹配它

$ # can also use: sed 's/^[.]//' ip.txt
$ sed 's/^\.//' ip.txt
doubleclick.com
doubleclick.net
0------------0-------------0.0n-line.info
0----0.0----0.1596.hk
另请参见

说明:

  • sub(…)
    如果进行了替换,则返回true,因此将打印记录,如果不低于
    +1
    则负责打印

  • +1
    最后执行默认操作,即打印当前/记录/行,
    打印$0
    。要了解awk是如何工作的,请尝试,
    awk'1'infle
    ,它将打印所有记录/行,而
    awk'0'infle
    不打印任何内容。零以外的任何数字都为true,这将触发默认行为

测试结果:

$ cat f2
.doubleclick.com
.doubleclick.net
0------------0-------------0.0n-line.info
0----0.0----0.1596.hk

$ awk 'sub(/^\./,"")+1' f2
doubleclick.com
doubleclick.net
0------------0-------------0.0n-line.info
0----0.0----0.1596.hk

见:谢谢@TomFenech,sed 100%为我工作。我知道,根据我之前的一个问题,我承认我需要更多地了解awk,所以我肯定不会放弃你的答案,也会测试它。我喜欢学习新的做事方式,因此非常感谢您抽出时间回答我。对不起,但请注意,
echo“xyboolblick.com”| awk'/.d/sub(/./,“”)
也返回“doubleclick.com”,这意味着它不匹配前导的
字符,而是匹配为reg-exp
=“any char”
。据我所知,它给出了“ydoubleclick.com”这完全是另一回事。Arg,是的,编辑错误,但请尝试
echo“Xdoubleclick.com”| awk'/.d/sub(/./,“”)
。您将得到
doubleclick.com
。在任何情况下,
sub(/./,“”)
仍将
解释为“任何字符”。祝大家好运。
$ cat f2
.doubleclick.com
.doubleclick.net
0------------0-------------0.0n-line.info
0----0.0----0.1596.hk

$ awk 'sub(/^\./,"")+1' f2
doubleclick.com
doubleclick.net
0------------0-------------0.0n-line.info
0----0.0----0.1596.hk
awk '/^.d/sub(/./,"")' file

doubleclick.com
doubleclick.net
------------0-------------0.0n-line.info
----0.0----0.1596.hk