微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用Bash一次读取n行

我阅读了帮助阅读页面,但仍然没有意义。不知道使用哪个选项。

如何使用Bash一次读取N行?

这比它看起来更难。问题是如何保持文件句柄。

解决方案是创建另一个新的文件句柄,它像stdin(文件句柄0)一样工作但是是独立的,然后根据需要从中读取。

#!/bin/bash

# Create dummy input
for i in $(seq 1 10) ; do echo $i >> input-file.txt ; done

# Create new file handle 5
exec 5< input-file.txt

# Now you can use "<&5" to read from this file
while read line1 <&5 ; do
        read line2 <&5
        read line3 <&5
        read line4 <&5

        echo "Four lines: $line1 $line2 $line3 $line4"
done

# Close file handle 5
exec 5<&-

原文地址:https://www.jb51.cc/bash/387242.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐