www.rtmj.net > shEll脚本截取字符串

shEll脚本截取字符串

filename=/mnt/1111echo ${filename##*/}1111

简单介绍下Shell字符串截取的详细方法,如截取指定字数、按指定的字符串截取、按指定要求分割.一、Linux shell 截取字符变量的前8位,有方法如下:二、按指定的字符串截取1、第一种方法:${varible##*string} 从左向右截取最后一个string后的字符串${varible#*string}从左向右截取第一个string后的字符串${varible%%string*}从右向左截取最后一个string后的字符串${varible%string*}从右向左截取第一个string后的字符串“*”只是一个通配符可以不要三、按照指定要求分割:比如获取后缀名

while read p; do x=&#36;(echo &#36;p|cut -d'|' -f1) y=&#36;(echo &#36;p|cut -d'|' -f2) echo &#36;x echo &#36;y done<test.txt

awk + cut方法 如:a=“aaa字符串处理” echo “aaa字符串处理” | awk -f符 '{print $2}' | cut -c 1,2

用cut最简便(参见 小米肥猫 的回答).另外,Bash中特有的字符串处理方法(掐头去尾法)也比较常用(参见下面的链接).对于这道题来说:var=“dfhjk_fewsk>dfakhi=vshbjy_df>brfdgr<rewrt" tmp=${var#*>} #掐头,最小匹配(去除从前往后第一个>及前面的所有字符) echo ${tmp%%>*} #去尾,最大匹配(去除从后往前最后一个>及后面的所有字符) 助记口诀:# 表示掐头, 因为键盘上 # 在 $ 的左面.% 表示去尾, 因为键盘上 % 在 $ 的右面.单个#或%的表示最小匹配,双个#或%表示最大匹配(即,当有多种匹配方案的时候,选择匹配的最大长度还是最小长度).

使用grep 还可结果awk

cut命令用法: cut 参数 文件名 说明:cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出. 参数: -b :以字节为单位进行分割.这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志. -c :以字符为

while read p; dox=$(echo $p|cut -d'|' -f1)y=$(echo $p|cut -d'|' -f2)echo $xecho $ydone 评论0 0 0

这样user@minix-nb:~$ cid=12345678user@minix-nb:~$ cid_tmp=0000000$ciduser@minix-nb:~$ length_cid=${#cid_tmp}user@minix-nb:~$ cid_8=${cid_tmp:$((length_cid - 8))}user@minix-nb:~$ echo $cid_812345678user@minix-nb:~$ cid_8=$

#!/bin/bash#line=touch $2for line in `cat $1`do echo $line | sed 's/<p>//;s/<\/p>//' >>$2done将上面的代码放到一个a.sh中然后执行./a.sh html文件名 tmp生成的歌词就在tmp文件中了.

友情链接:bycj.net | zxqk.net | rprt.net | lpfk.net | hhjc.net | 网站地图

All rights reserved Powered by www.rtmj.net

copyright ©right 2010-2021。
www.rtmj.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com