取得字符串长度
echo "abc" |wc -L
取得右边
filename=${filename##*/}
filename=${filename##*\?}
取得左边
从最右边取左边。
local filename=`echo ${file%\?*}`
从左边边取左边。
local filename=`echo ${file%\?*}`
Linux 的字符串截取很有用。有八种方法。
假设有变量 var=http://www.aaa.com/123.htm.1. # 号截取,删除左边字符,保留右边字符。
echo ${var#*//}
其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符
即删除 http://
结果是 :www.aaa.com/123.htm
2. ## 号截取,删除左边字符,保留右边字符。
echo ${var##*/}
##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符
即删除 http://www.aaa.com/
结果是 123.htm
3. %号截取,删除右边字符,保留左边字符
echo ${var%/*}
%/* 表示从右边开始,删除第一个 / 号及右边的字符
结果是:http://www.aaa.com
4. %% 号截取,删除右边字符,保留左边字符
echo ${var%%/*}
%%/* 表示从右边开始,删除最后(最左边)一个 / 号及右边的字符
结果是:http:
5. 从左边第几个字符开始,及字符的个数
echo ${var:0:5}
其中的 0 表示左边第一个字符开始,5 表示字符的总个数。
结果是:http:
6. 从左边第几个字符开始,一直到结束。
echo ${var:7}
其中的 7 表示左边第8个字符开始,一直到结束。
结果是 :www.aaa.com/123.htm
7. 从右边第几个字符开始,及字符的个数
echo ${var:0-7:3}
其中的 0-7 表示右边算起第七个字符开始,3 表示字符的个数。
结果是:123
8. 从右边第几个字符开始,一直到结束。
echo ${var:0-7}
表示从右边第七个字符开始,一直到结束。
结果是:123.htm
注:(左边的第一个字符是用 0 表示,右边的第一个字符用 0-1 表示)
cut
cut -d : -f 3- // 打印第3个字段后的所有字段,包含第三个字段
cut -c 2-7 ` // 截取第2到第7个字符
-b:值为每一输出档案的大小,单位为 byte。 -C:每一输出档中,单行的最大 byte 数。 -d:使用数字作为后缀。 -l:值为每一输出档的列数大小。
来自: http://man.linuxde.net/split
来自: http://man.linuxde.net/split
-b:值为每一输出档案的大小,单位为 byte。 -C:每一输出档中,单行的最大 byte 数。 -d:使用数字作为后缀。 -l:值为每一输出档的列数大小。
来自: http://man.linuxde.net/split
来自: http://man.linuxde.net/split
-b:值为每一输出档案的大小,单位为 byte。 -C:每一输出档中,单行的最大 byte 数。 -d:使用数字作为后缀。 -l:值为每一输出档的列数大小。
来自: http://man.linuxde.net/split
来自: http://man.linuxde.net/split
-b:值为每一输出档案的大小,单位为 byte。 -C:每一输出档中,单行的最大 byte 数。 -d:使用数字作为后缀。 -l:值为每一输出档的列数大小。
来自: file:///C:/Users/Administrator/Desktop/split%E5%91%BD%E4%BB%A4_Linux%20split%20%E5%91%BD%E4%BB%A4%E7%94%A8%E6%B3%95%E8%AF%A6%E8%A7%A3%EF%BC%9A%E5%88%86%E5%89%B2%E4%BB%BB%E6%84%8F%E5%A4%A7%E5%B0%8F%E7%9A%84%E6%96%87%E4%BB%B6.htm
来自: file:///C:/Users/Administrator/Desktop/split%E5%91%BD%E4%BB%A4_Linux%20split%20%E5%91%BD%E4%BB%A4%E7%94%A8%E6%B3%95%E8%AF%A6%E8%A7%A3%EF%BC%9A%E5%88%86%E5%89%B2%E4%BB%BB%E6%84%8F%E5%A4%A7%E5%B0%8F%E7%9A%84%E6%96%87%E4%BB%B6.htm
split命令可以将一个大文件分割成很多个小文件,有时需要将文件分割成更小的片段,比如为提高可读性,生成日志等。选项-b:值为每一输出档案的大小,单位为 byte。-C:每一输出档中,单行的最大 byte 数。-d:使用数字作为后缀。-l:值为每一输出档的列数大小。实例生成一个大小为100KB的测试文件:[root@localhost split]# dd if=/dev/zero bs=100k count=1 of=date.file1+0 records in1+0 records out102400 bytes (102 kB) copied, 0.00043 seconds, 238 MB/s使用split命令将上面创建的date.file文件分割成大小为10KB的小文件:[root@localhost split]# split -b 10k date.file [root@localhost split]# lsdate.file xaa xab xac xad xae xaf xag xah xai xaj文件被分割成多个带有字母的后缀文件,如果想用数字后缀可使用-d参数,同时可以使用-a length来指定后缀的长度:[root@localhost split]# split -b 10k date.file -d -a 3[root@localhost split]# lsdate.file x000 x001 x002 x003 x004 x005 x006 x007 x008 x009为分割后的文件指定文件名的前缀:[root@localhost split]# split -b 10k date.file -d -a 3 split_file[root@localhost split]# lsdate.file split_file000 split_file001 split_file002 split_file003 split_file004 split_file005 split_file006 split_file007 split_file008 split_file009使用-l选项根据文件的行数来分割文件,例如把文件分割成每个包含10行的小文件:split -l 10 date.file
来自: http://man.linuxde.net/split
来自: http://man.linuxde.net/split
-b:值为每一输出档案的大小,单位为 byte。 -C:每一输出档中,单行的最大 byte 数。 -d:使用数字作为后缀。 -l:值为每一输出档的列数大小。
来自: http://man.linuxde.net/split
split的参数
来自: http://man.linuxde.net/split