我正在尝试通过script.sh从第2行到第5行打印文件(myfile)的内容。脚本无法从位置2打开文件。内容也从第1行打印到第4行。下面是文件内容,命令和命令输出。
voices = window.speechSynthesis.getVoices();
答案 0 :(得分:4)
tail
接受行计数作为-n ...
或--lines=...
标志的一部分。来自manpage:
-n, --lines=[+]NUM output the last NUM lines, instead of the last 10; or use -n +NUM to output starting with line NUM
将tail +$1 $3
替换为tail -n +$1 $3
或tail --lines=+$1 $3
。
有趣的是,您已使用head
的正确标记。
在服务器故障上还有一个非常类似的问题:https://serverfault.com/questions/133692/how-to-display-certain-lines-from-a-text-file-in-linux。普遍的共识是,您的方法很好,但另一种方法是使用script.sh
编写sed
,例如
#!/bin/bash
sed -n "${1},${2}p" ${3}