如何解决如何从 UNIX 中管道分隔文件的第 n 列的值中删除所有非数字字符
我在 UNIX 中有许多文件,其中有许多带有管道分隔符的记录。我想从包含电话号码的列号 20 的值中删除非字母数字和非特殊字符,并将右修剪 10 位数字。
解决方法
awk -F\| '{ OFS="|";gsub(/[[:alpha:]]|[[:punct:]]/,"",$4);$0=substr($4,(length($4)-10),length($4)) }1' file
将文件分隔符设置为 |然后使用 gsub 将任何字母字符或标点符号替换为空字符。打印行。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。