gpt4 book ai didi

perl - 在 perl 中拆分管道字符

转载 作者:行者123 更新时间:2023-12-04 05:33:21 25 4
gpt4 key购买 nike

我有一个小问题。我想在使用 split 运算符找到的每个管道字符处拆分一行。就像在这个例子中一样。

echo "000001d17757274585d28f3e405e75ed|||||||||||1||||||||||||||||||||||||" | \
perl -ane '$data = $_ ; chop $data ; @d = split(/\|/ , $data) ; print $#d+1,"\n" ;'

我希望输出为 36
awk用分隔符分割 |返回 36,但我得到 12,就好像拆分在 1 处停止了一样行中的字符。
echo "000001d17757274585d28f3e405e75ed|||||||||||1|||||||||||||||||||||||||||||||||||||||" | \ 
awk -F"|" '{print NF}'

任何的想法。我尝试了很多引用 | 的方法,但没有成功。
非常感谢提前。

最佳答案

根据 split :

By default, empty leading fields are preserved, and empty trailing ones are deleted.



您需要为拆分指定负限制以获取尾随:
split(/\|/, $data, -1)

关于perl - 在 perl 中拆分管道字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9161952/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com