我有一个名为“rules.txt”的文件,该文件包含以下内容:
Jones 2 IP1 1P2
现在的问题是“Jones 2”应该是一个词。我如何让我的脚本理解这一点?
文件的所有行都是一致的。我基本上有 NAT 规则名称、起始 IP 地址和结束 IP 地址。 NAT 规则名称以空格分隔,IP 地址之间有一个制表符。
我不想做任何分裂。我只想阅读“Jones 2”,并在 while 循环中将 IP1 和 IP2 作为 3 个独立的内容来阅读。
答案1
你可以从
perl -pe 's/,/./g;s/ +/,/g' rules.txt
然后用逗号分隔。注释中的这两个内容都awk
使用正则表达式,这是用于操作文本的流行工具集。
( +)
是两者的同义词,( {2,})
意思是“两个或多个空格”。 “+”前面有两个空格,但 stackexchange 内联代码块不尊重空格...