在《高级Bash脚本编程指南》上有一个例子,用重定向,通过shell对文件随机读写,但那方法在Unix的sh下不管用,自己写了一个,例子如下:
#!/bin/sh
#randRead.sh
echo 1234567890 > sFile
exec 3<> sFile
#read -n 4 <&3
dd bs=1 count=4 of=/dev/null <&3 2>/dev/null
echo . | dd bs=1 count=1 >&3 2>/dev/null
exec 3>&-
cat sFile
运行结果如下:
root@SMP2> cat -n randRead.sh
1 #!/bin/sh
2 echo 1234567890 > sFile
3 exec 3<> sFile
4 #read -n 4 <&3
5 dd bs=1 count=4 of=/dev/null <&3 2>/dev/null
6 echo . | dd bs=1 count=1 >&3 2>/dev/null
7 exec 3>&-
8 cat sFile
root@SMP2>
root@SMP2> ./randRead.sh
1234.67890
root@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.67890
93 # 随机存储.
分享到:
相关推荐
首先,`prov.csv` 是一个包含CSV(逗号分隔值)格式的数据文件,这种文件类型常用于存储表格数据,易于读写和处理。在本案例中,它可能包含了省(province)的相关数据,如省份名称等。 接着,`insert_sct_Province...
### LINUX与UNIX SHELL编程指南知识点详解 ...通过对文件的权限进行合理配置,可以有效地保护敏感数据免受未授权访问,同时确保系统的稳定性和安全性。掌握文件权限的基础知识对于日常管理和开发工作都非常重要。
可以通过定位文件指针来进行随机访问。 - **`Unix.lseek fd pos whence`**:设置文件描述符`fd`的当前位置。 ##### 2.13 针对特定文件类型的操作 针对不同类型的文件(如常规文件、设备文件等),Unix提供了不同...
文件操作包括打开、关闭、读写、随机访问以及错误处理等。 3. **信号处理**:Unix通过信号机制实现异步事件通知,比如进程异常、用户中断等。程序可以注册信号处理器来响应特定信号,实现复杂的行为控制。 4. **...
书中详细讲解了如打开、读写、关闭文件,进程控制(创建、终止、等待),信号处理,内存管理等基本系统调用的使用。 2. **文件I/O**:在UNIX中,一切皆文件,包括设备。文件I/O是编程中的基础操作,书中涵盖了标准I...
其次,文件I/O部分阐述了如何打开、关闭、读写文件,以及文件的随机访问、文件权限和属性的管理。此外,还涉及到了标准I/O库的使用和缓冲技术,这对于处理大量数据输入输出的程序设计至关重要。 在网络编程章节,...
要求最后实现对文件的加密转储,或通过改道的办法进行转储。对于已加密的文件可以进行解密显示或解密后转储。形成加密或解密文件后要删除原来的文件。 建议加密过程使用按字符进行异或的方式处理,也可以是仿射加密...
可以使用`fcntl()`函数的`F_SETLK`、`F_SETLKW`、`F_GETLK`等选项来对文件加锁,`F_SETLK`是非阻塞的,`F_SETLKW`是阻塞的,而`F_GETLK`用于查询文件上的锁状态。文件锁可以防止多个进程同时修改同一个文件,从而...
1. **文件I/O**:详细介绍了UNIX系统中的文件操作,包括打开、关闭、读写、随机访问、缓冲I/O和非阻塞I/O等。 2. **进程管理**:讲解了进程创建、进程控制、进程间通信(管道、信号、消息队列、共享内存、套接字等...
#### 二、Unix环境下的高级编程技术 ##### 2.1 进程管理 - **进程的概念**:在Unix系统中,每个正在运行的程序都对应一个进程,它是程序的一次动态执行过程。 - **进程控制**: - `fork()`函数:用于创建新进程。 ...
Java 软件工程师所需的详细知识和技能,涵盖 Java 语言基础、面向对象编程、集合编程、多线程编程、GUI 编程、文件读写、对象序列化、异常处理、网络编程、国际化、J2SE 5.0 新特性、设计模式、反射机制、Unix 开发...
mmap模块可以映射文件到内存,方便对文件进行操作。UserDict、UserList和UserString模块提供了对象,它们分别是字典、列表和字符串类型的扩展。 在数据表示方面,traceback模块提供了获取、打印和格式化栈跟踪信息...
由于标签为"Shell",我们可以推测这个项目与Unix或Linux环境下的Shell脚本编程有关。在这个压缩包"alexxy-master"中,很可能包含了alexxy编写的各种Shell脚本及相关文件,用于自动化任务执行、系统管理或其他相关...
1. `vdbench.bash`:这是一个Bash shell脚本,可能是用于在Linux或Unix系统上启动Vdbench的命令行接口。用户可以通过修改此脚本来定制他们的测试场景。 2. `vdbench.bat`:这是Windows批处理文件,用于在Windows...
5.7 读写压缩文件:使用内置库处理压缩文件的读写。 5.8 固定大小记录的文件迭代:通过记录的固定长度实现文件的迭代。 5.9 读取二进制数据到可变缓冲区中:将二进制数据读取到可扩展的缓冲区。 5.10 内存映射的二...
- 文件操作:打开、关闭、读写、追加和随机访问文件的函数,如open、read、write、lseek等。 - 异步I/O和信号驱动I/O:了解select、poll和epoll等机制,以处理并发I/O事件。 5. **系统调用与API** - 系统调用:...
7. 配置文件:Linux系统的配置大多位于/etc目录下,通过编辑这些文本文件,用户可以自定义系统行为。 8. 开发环境:Linux提供了完善的开发环境,支持各种编程语言,如C、C++、Python、Java等,还有版本控制系统如...