echo 1234567890 > File # 生成文件File
exec 3<> File # 将文件File映射到文件描述符3,用于读和写该文件
read -n 4 <&3 # 读取文件File的第一行的前四个字符也即1234
echo -n . >&3 # 此时read -n的操作位于第一行的第五个字符处,也即5,此时将.写入到文件File的这个位置,也即把3写入5所在的位置
exec 3>&- # 关闭文件描述符3
cat File # 显示文件File的内容1234.67890
这整行代码的作用就是sed -i 's/5/./' File
[number]<>filename 就是寻址到文件filename某个指定的位置,进行写操作
exec 3<> File # 将文件File映射到文件描述符3,用于读和写该文件
read -n 4 <&3 # 读取文件File的第一行的前四个字符也即1234
echo -n . >&3 # 此时read -n的操作位于第一行的第五个字符处,也即5,此时将.写入到文件File的这个位置,也即把3写入5所在的位置
exec 3>&- # 关闭文件描述符3
cat File # 显示文件File的内容1234.67890
这整行代码的作用就是sed -i 's/5/./' File
[number]<>filename 就是寻址到文件filename某个指定的位置,进行写操作
转载于:https://blog.51cto.com/sukaka/920534