在linux bash 中通常遇到的问题是,使用特定的字符分隔两位一个字符串。通常使用 cut 。有时候需要用一个字符串去分隔两外一个字符串。这个时候 cut 就好用了,可以用。 awk 来实现这个分隔。
示例awk使用 两个等号作为分隔符
echo "aaa==bbb==cc" | awk -F "==" '{ printf $1 "\n" }'
aaa
echo "aaa==bbb==cc" | awk -F "==" '{ printf $1 $3 $2 "\n" }'
aaaccbbb
使用 cut
echo "aaa==bbb==cc" | cut -d'=' -f1
aaa
echo "aaa==bbb==cc" | cut -d'=' -f2
echo "aaa==bbb==cc" | cut -d'=' -f3
bbb
可以看到结果2是空的。
cut不能使用字符串作为分隔符号
echo "aaa==bbb==cc" | cut -d'==' -f3
cut: the delimiter must be a single character
Try 'cut --help' for more information.