Jen*_*nny 17 awk text-processing
如何awk删除;文本文件每一行中出现的某个字符后的所有文本?(然后我需要在文本上运行 for 循环)
Jenny,Sarah,John;North Dakota
Henry,Frank;Illinois
Aaron,Kathryn,Caitlin,Harris;New York
Run Code Online (Sandbox Code Playgroud)
ter*_*don 23
有两种通用方法。
将awk的字段分隔符设置为该字符。然后你可以得到你想要的部分$1:
$ echo "Today was cloudy; yesterday too" | awk -F';' '{print $1}'
Today was cloudy
Run Code Online (Sandbox Code Playgroud)用于gsub()将其替换为空字符串:
$ echo "Today was cloudy; yesterday too" | awk '{sub(/;.*/,""); print}'
Today was cloudy
Run Code Online (Sandbox Code Playgroud)所以,对于你的例子:
$ awk -F';' '{print $1}' file
Jenny,Sarah,John
Henry,Frank
Aaron,Kathryn,Caitlin,Harris
Run Code Online (Sandbox Code Playgroud)