linux 字符串截取(cut)
-b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
-c :以字符为单位进行分割。
-d :自定义分隔符,默认为制表符。
-f :与-d一起使用,指定显示哪个区域。
-n :取消分割多字节字符。仅和-b标志一起使用。如果字符的最后一个字节落在由-b标志的List参数指示的范围之内,该字符将被写出;否则,该字符将被排除。
-b
截取字符串中的第2和第5个字节,多个定位之间用逗号隔开
echo "abcdefg"|cut -b 2,5
输出:be
截取字符串11-14位置的字符
echo "abcdefghijklmn" | cut -b 11-14
输出:klmn
截取前三个字符(包括第三个字符)
echo "abcdefg" | cut -b -3
截取第三个字符后所有的(包括第三个字符)
echo "abcdefg" | cut -b 3-
-d
cut命令用于列提取,默认分隔符是tab键。
选项:-d指定分隔符,-f指定提取第几列
以#作为分隔符,输出第一个#前的区域1的东西
echo "hello#everyone#you" | cut -d \# -f 1
输出:hello
cut可以使用| 拼接,多次使用
echo "hello#everyone#you" | cut -d \# -f 1 | cut -b 1-2
输出:he