【发布时间】:2020-09-23 08:15:46
【问题描述】:
我有一个用|;| 分隔的文件。
示例;
1|;|2|;|3|;|4|;|5
1|;|2|;|3|;|4|;|5
我需要把分隔符改成:或者别的,
但awk 中的FS 对管道| 没有任何作用
awk '$1=$1' FS="|;|" OFS=":" file
1|:|2|:|3|:|4|:|5
1|:|2|:|3|:|4|:|5
管道|在用作单字符分隔符时被识别;
awk '$1=$1' FS="|" OFS="" file
1:2:3:4:5
1:2:3:4:5
不过,sed 解决了这个问题,
sed 's/|;|/:/g' file
但我想知道是否有办法使用awk 命令。
【问题讨论】:
标签: linux unix pipe delimiter separator