Unix下shell对文件随机读写
在《高级Bash脚本编程指南》上有一个例子,用重定向,通过shell对文件随机读写,但那方法在Unix的sh下不管用,自己写了一个,例子如下:#!/bin/sh#randRead.shecho 1234567890 > sFile exec 3<> sFile #read -n 4 <&3 dd bs=1 count=4of=/dev/null <&3 2>/dev/nullecho . | dd bs=1 count=1 >&3 2>/dev/nullexec 3>&- cat sFile 运行结果如下:
root@SMP2> cat -n randRead.sh 1#!/bin/sh 2echo 1234567890 > sFile 3exec 3<> sFile 4#read -n 4 <&3 5dd bs=1 count=4of=/dev/null <&3 2>/dev/null 6echo . | dd bs=1 count=1 >&3 2>/dev/null 7exec 3>&- 8cat sFile root@SMP2> root@SMP2> ./randRead.sh 1234.67890root@SMP2>
附ABS上的例子:
87 echo 1234567890 > File # 写字符串到"File".88 exec 3<> File # 打开"File"并且给它分配fd 3.89 read -n 4 <&3 # 只读4个字符.90 echo -n . >&3 # 写一个小数点.91 exec 3>&- # 关闭fd 3.92 cat File # ==> 1234.6789093 # 随机存储.
页:
[1]