tail:无法打开'+2'进行阅读:没有这样的文件或目录

时间:2017-05-18 17:52:15

标签: linux bash shell

我正在尝试通过script.sh从第2行到第5行打印文件(myfile)的内容。脚本无法从位置2打开文件。内容也从第1行打印到第4行。下面是文件内容,命令和命令输出。

voices = window.speechSynthesis.getVoices();

1 个答案:

答案 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 $3tail --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}