Linux字符串截取几种方法
2014-01-14 10:09
357 查看
在很多情况下我们需要提取某个变量下的某个字段,linux提供了很多的命令来处理这种情况。在这里只提供一个解决问题的思路,对于具体的命令下使用何参数,根据情况而定,除了利用man命令,还可以上网查阅相应的资料,以/etc/passwd为例获取用户所在组:
方法一:
使用cut命令
方法二:
使用sed命令,注意该命令只能在shell脚本下才能运行,相关例子请参考Linux sed命令详细详解
方法三:
使用awk命令,相关例子请参考linux awk命令详解
方法四:
使用展开运算符(替换符号),形如:${variable#pattern}、${variable##pattern}、${variable%pattern}、${variable%%pattern},注意该命令只能在shell脚本下才能运行。相关例子请参考Linux
shell脚本的字符串截取,在这里利用了这个字符串本身的特性进行处理
root:x:0:0:root:/root:/bin/csh
方法一:
使用cut命令
cat /etc/passwd | head -1 | cut -d : -f 5
方法二:
使用sed命令,注意该命令只能在shell脚本下才能运行,相关例子请参考Linux sed命令详细详解
sd=`cat /etc/passwd | head -1 | sed 's/:/ /g'` set -- $sd //在没有任何选项的情况下,会将结果的值依次赋给位置参数的值 echo $5
方法三:
使用awk命令,相关例子请参考linux awk命令详解
cat /etc/passwd | head -1 | awk -F : '{print $5}'
方法四:
使用展开运算符(替换符号),形如:${variable#pattern}、${variable##pattern}、${variable%pattern}、${variable%%pattern},注意该命令只能在shell脚本下才能运行。相关例子请参考Linux
shell脚本的字符串截取,在这里利用了这个字符串本身的特性进行处理
p=`cat /etc/passwd | head -1` subp=${p##*[0-9]{1,}:} //从左边开始最长匹配,删除整数与:结合的之前所有字段 echo ${subp%%:*} //从右边开始最长匹配,删除:之后的所有字段
相关文章推荐
- linux中shell截取字符串方法总结
- linux中shell截取字符串方法总结
- 《C#截取字符串的几种方法》
- linux中shell,awk,sed截取字符串方法总结
- linux中shell截取字符串方法总结
- C#几种截取字符串的方法小结
- C#几种截取字符串的方法小结
- java截取字符串的几种方法的总结,欢迎提出问题
- linux中shell截取字符串方法总结
- C#几种截取字符串的方法
- Linux 的字符串截取方法(转)
- C#几种截取字符串的方法(split 、Substring、Replace、remove)
- C#几种截取字符串的方法小结
- Linux 的 4000 字符串截取很有用:有八种方法。
- linux中shell截取字符串方法总结
- C#几种截取字符串的方法(split 、Substring、Replace、remove)
- linux中shell截取字符串方法总结
- Linux 的字符串截取很有用。有八种方法。
- C#几种截取字符串的方法小结 (摘抄)
- linux中shell截取字符串方法总结