shell脚本读写⽂件ca⼆进制处理循环参数字符分割等基本操
作
⽬录
1.输⼊参数处理
在shell中可以⽤$1~$9来get参数超过9个参数需要⽤shift,也可以⽤read命令get参数,也可以⽤getopt解析参数。
如果要实现如下参数解析:
下⾯分情况说明
1.1$1~$9加shift
不⽤shift需要对$1$2分别判断,使⽤shift就只⽤$1
#!/bin/bash
echo$
#until[$#-eq0]
do
ca"$1"in
-i|-input)
inputFile=$2
shift2
;;
-o|-output)
outFile=$2
shift2
;;
*)
shift
echo"unknowpara"
;;
esac
done
echo"infile=$inputFile;outFile=$outFile"
以上同时给出了untildo--done及ca语句的语法
注意:1、*)相当于其他语⾔中的default。
2、各个分⽀中;;是必须的,;;相当于其他语⾔中的break
3、|分割多个模式,相当于or
1.2getopt
2.读写⽂件
2.1读写⽂本⽂件
2.1.1读⽂本
#!/bin/bash
whilereadline
do
echo$line
done
或者使⽤cat命令。
forlinein`catfilename`#(待读取的⽂件)
do
echo$line
done
2.1.2写⽂本
echoxxxxxx>#>覆盖写>>增加写
echoxxxxxx|#覆盖写
echoxxxxxx|#增加写
2.2读写和显⽰⼆进制
2.2.1写⼆进制
echo2a3f4d5c|xxd-r-ps>#6个字节
2.2.2显⽰⼆进制
hexdump-e'1/1"%02x"'
hexdump-e'1/2"%02x"'
hexdump-e'1/1"%02xn"'
分别的显⽰效果如下:
由上图看出显⽰结果各不相同,可根据需要来采⽤不同的⽅式。
需要注意的是以下命令会将连续相同的数字⽤*表⽰
echo2a2a2a2a|xxd-r-ps>#6个字节
hexdump-e'1/1"%02x"'
显⽰结果如下:
以上不同的格式可以重定向到⽂件中形成对应的txt⽂件,在以TXT的⽂件⽅式去除最左边⼏列的地址(有的没有地址)和最右边乱码(有
的没有乱码)顺序交换(2byte显⽰时⾼byte与低byte反了)
可以参考
2.2.3读⼆进制
需要使⽤dd命令
还需要补充实例
可参考
3.字符串的分割合并
可以完成
任意多个字符的合并
从任意位置截取任意长度字符
以指定分隔符分割字符串
可参考:
本文发布于:2022-11-16 10:07:07,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/88/30591.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |