首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过向tail中传递一个整数来修复tail中的无效行数

通过向tail中传递一个整数来修复tail中的无效行数
EN

Stack Overflow用户
提问于 2020-02-10 04:34:42
回答 1查看 1.3K关注 0票数 0

运行Centos8。

下面是我当前的(微型)脚本:

代码语言:javascript
复制
#!/usr/bin/env bash
x=$((($2-$1)+1))
head -n $2 $3 | tail -n -$x

作为输入的示例:

代码语言:javascript
复制
sh script.sh 7 10 /etc/passwd

我想要得到的是/etc/passwd的第7-10行。

它应该相当简单,因为只需要做

代码语言:javascript
复制
head -n 7 /etc/passwd | tail -n -4

完美地返回这4行代码。

但是,使用$x (从第二个数字减去第一个数字加1获得输入)会失败。每当我运行这段代码时,我都会得到这样的错误:

代码语言:javascript
复制
tail: invalid number of lines: ‘4\r\r’

根据我的理解,这意味着代码不接受我所做的小数学中的$x输入,并认为它是带有两个尾随空格的4?

我该如何着手修复这个问题,以便列出/etc/password的四行?

EN

回答 1

Stack Overflow用户

发布于 2020-02-10 04:43:42

第三行有个问题

代码语言:javascript
复制
#!/usr/bin/env bash
x=$((($2-$1)+1))
head -n $1 $3 | tail -n -$x

这需要说$1,而不是$2。

代码行的结尾是Mac,而不是Linux。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60141060

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档