while read -r line
将遍历文件中的每一行。如何让它在文件中的特定行中运行,例如,行“1-20”,然后是“30-100”?
答案 0 :(得分:3)
一种选择是使用sed
来获得所需的行:
while read -r line; do
echo "$line"
done < <(sed -n '1,20p; 30,100p' inputfile)
这样说会从inputfile
到read
提供1-20,30-100行。
答案 1 :(得分:2)
@ devnull的sed命令完成这项工作。另一种方法是使用awk,因为它避免了读取,你可以在awk中进行处理:
awk '(NR>=1 && NR<=20) || (NR>=30 && NR<=100) {print "processing $0"}' file