28、linux shell常用的几个函数,split
1、说明
split [-bl] file PREFIX
2、option
参数:
-b:后面可接欲分割成的档案大小,可加单位,例如 b, k, m 等;
-l:以行数来进行分割。
PREFIX :代表前置字元的意思,可作為分割檔案的前導文字。
3、示例
1)split -b 30b prime.cpp me
2)split -l 20 prime.cpp
3)cat xa* >> prime.cpp //这样,使用重定向,把分开的档案合在一起。
4)ll -k xa*
-k like --block-size=1K
5)ls -al ./ | split -b 200b - hello
那个 - 就会被当成 stdin 或 stdout
3、awk中的split
awk的内置函数split能够将字符串拆分为词,然后保存在数组中。
格式:split(字符串,数组,字段分隔符)
1)name="76868&5676&435&43526&334&12312312&12321"
awk 'BEGIN {print split('"\"$name\""', filearray, "&")}'
说明:awk规定引用系统变量必须使用单引号加双引号,即'"$sysvar"'这样的格式,但是split函数也需要双引号来定界,但这个双引号又不能让sh解释,而应留给awk来解释,所以使用了\"和\"组成的双引号
2)awk 'BEGIN {print split("76868&5676&435&43526&334&12312312&12321", filearray, "&")}'
参考
【1】 鸟哥的私房菜
http://linux.vbird.org/linux_basic/0320bash.php#split
【2】 http://www.kklinux.com/html/biancheng/Shell/200901/24-2793.html
【3】 awk中的split
http://blog.sina.com.cn/s/blog_4d1f40c00100r7y3.html
http://zhu8337797.blog.163.com/blog/static/1706175492010113051014526/