gpt4 book ai didi

linux - 尾部 : cannot open ‘+2’ for reading: No such file or directory

转载 作者:太空狗 更新时间:2023-10-29 11:35:39 26 4
gpt4 key购买 nike

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

$cat myfile
SR.N0. Details
Name XXXX
DOB XXXX
DOJ xxxx
JOB XXXX
DOMAIN XXXX
COMPANY XXXX


$cat script.sh
#!/bin/bash
tail +$1 $3 | head -n$2

$./script.sh 2 6 myfile
tail: cannot open ‘+2’ for reading: No such file or directory
==> myfile <==
SR.N0. Details
Name XXXX
DOB XXXX
DOJ xxxx
JOB XXXX

最佳答案

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 使用了正确的标志。

Server Fault 上也有一个非常相似的问题:https://serverfault.com/questions/133692/how-to-display-certain-lines-from-a-text-file-in-linux .普遍的共识是你的方法很好,但另一种方法可能是使用 sed 编写 script.sh 就像

#!/bin/bash
sed -n "${1},${2}p" ${3}

关于linux - 尾部 : cannot open ‘+2’ for reading: No such file or directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44054761/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com