Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >添加行某些行未找到BASH

添加行某些行未找到BASH
EN

Stack Overflow用户
提问于 2014-03-27 00:53:38
回答 3查看 52关注 0票数 1

所以假设我有一个包含正弦数据的文件,比如

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
567
568
570
572

但是我想把缺少的索引(569,571)打印出来。

实际上,我已经在使用awk读取文件并对每一行执行一个操作

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(something like awk  '{print #the command im doing on the line}' )

那么,有没有办法让我在awk内部完成这项工作?我对bash脚本编程非常陌生,我试图使用ctr变量并将其与行的值进行匹配,但我一直在努力使其正常工作。(我不想让别人给我答案,而是希望能帮助我实现目标的技术或功能)

EN

回答 3

Stack Overflow用户

发布于 2014-03-27 02:22:28

以下awk命令处理所有输入行以及连续输入行之间的数字间隙所隐含的任何缺少的整数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
awk '
  prev > 0 && prev + 1 < $1 {   # Is there a gap between this and the previous no?
    for (i=prev+1; i<$1; ++i) { # Process all numbers in the gap.
      print "filled in: " i
    } 
  } 
  {          
    print "provided: " $1  # Process this number.
    prev=$1                # Remember this number for the next iteration.
  }
  ' input.txt

  • 我使用$1作为数字,每行的第一个以空格分隔的字段。如果您的行不包含其他字段(仅由数字组成),则$0 (整个输入行)将起作用,awk中的条件变量默认为0,因此在处理第一行时,包含前一个数字的变量prev为0,因此我们必须跳过第一行的间隙检查,条件的一部分并不是严格需要的,因为操作中的for循环隐式地强制执行相同的条件,但为清楚起见,我添加了它。
票数 2
EN

Stack Overflow用户

发布于 2014-03-27 01:02:10

您可以使用comm

input.txt

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
567
568
570
572

all.txt (由seq 567 572生成)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
567
568
569
570
571
572

bash命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# easy way
comm -13 input.txt all.txt
# awk way
awk 'NR==FNR{a[$0];next};$0 in a{next;};1' input.txt all.txt
票数 1
EN

Stack Overflow用户

发布于 2014-03-27 04:33:16

抱歉,写起来比告诉你怎么写要容易得多:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ awk '!s{s=$0} {e=$0} END{for (i=s;i<=e;i++) print i}' file
567
568
569
570
571
572

我相信你能弄明白的.

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

https://stackoverflow.com/questions/22676197

复制
相关文章
bash: rsync: 未找到命令
今天学习了rsync的同步操作,本打算往服务器同步一些数据,于是报了一下错误: ➜ ~ rsync -r /Users/Apple/index.html root@1.1.1.1:/var/www/html/ bash: rsync: 未找到命令 rsync: connection unexpectedly closed (0 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12
肓己
2021/08/12
2.6K0
Bash: Command Not Found命令未找到
当你不熟悉Linux时,很多事情可能会让人不知所措。但是当你了解问题的根本原因时,它会逐渐提高你的知识。command not found命令未找到的错误通常没有直接的解决方案。这里给你一些提示和指示,这应该可以帮助你排除故障。 在本教程中我们将探讨bash: command not found命令未找到的原因以及解决方法。我们将以ipconfig命令为例说明错误的原因。并提出三种解决方法,包括:确定是否存在拼写错误,确保该命令已安装在你的系统上,使用apt,yum,dnf命令安装你需要的命令,检查可执行脚
入门笔记
2022/06/02
5.8K0
bash: jar: 未找到命令..(command not found)
/bin/bash: jar: command not found 解决办法: cd /usr/bin 必须先进入/usr/bin,下同 sudo ln -s -f /usr/lib/jvm/jdk1.6.0_30/bin/jar 我的jdk是安装在/usr/lib/jvm/jdk1.6.0_30/目录下的 如果提示javah:commond not found,于是照葫芦画瓢,输入命令 cd /usr/bin ln -s -f /usr/lib/jvm/jdk1.6.0_30/bin/javah
周小董
2019/03/25
8.4K0
Redis使用时报错:-bash: redis-cli: 未找到命令
问题分析:  试了很多网上的方法,还是不行,怀疑开始安装的时候步骤是不是哪里遗漏了,翻历史命令的时候发现问题了,我只是make了,没有make install。
非著名运维
2022/06/22
2.3K0
vue动态添加行
html <div id="app"> <div @click="addData">点击添加行</div> <div class="box1"> <table> <tr> <th width="10%">序号</th> <th width="25%">姓名</th> <th width="25%">性别
用户1349575
2022/02/17
3.9K0
如何用 10 行 bash shell 脚本监控 Linux?
监控我们的环境对于服务器运维来说至关重要,尤其是在部署新的应用程序时。如今,公司每天都使用开源解决方案来监控系统资源。但是,当出于测试的目的来监控一定时间时,bash 脚本会派上用场。
IT运维技术圈
2022/08/05
3.6K0
如何用 10 行 bash shell 脚本监控 Linux?
shell脚本中打印所有匹配某些关键字符的行或前后各N行
在日常运维中,经常需要监控某个进程,并打印某个进程的监控结果,通常需要打印匹配某个结果的行以及其前后各N行。
洗尽了浮华
2018/10/11
2.1K0
20 行实现一个 bash 常用路径书签
在运维的时候,需要经常 cd 到指定的位置去查日志、改代码,我常常无法忍受一些人那缓慢的打字速度,还经常输入错误,为什么不用用这个 20 行代码的工具呢?
somenzz
2023/08/22
1770
20 行实现一个 bash 常用路径书签
MySQL如何加行锁或者表锁?
MySQL可以使用锁来控制对表和行的访问,下面简单介绍一下如何对表和行进行加锁的方法
SmileNicky
2023/06/04
1.6K0
iOS 每天某些时间点做某些事情
开篇 我们项目启动的时候要弹出一个广告窗口,很简单的一个功能,服务器的判断一下满足条件,即返回数据,客户端判断数据部位NULL,则弹出弹窗 但是老板说,这个要时间短弹出,每天的中午12点到下午2点不能弹出来 这这这,有点坑我们吧,每天存一个key,有点坑吧 仔细想想,没有必要啊,这就是考验我们对时间的操作,代码实现如下: 代码实现 #pragma mark -- 判断是否弹出广告 - (BOOL)isLoadAdvertIn { //当前时间戳 NSTimeInterval int
GuangdongQi
2018/05/24
8120
java环境配置及jps命令未找到
最近基于CentOS 7下安装hadoop集群,碰到了java环境变量的问题,同时也出现了jps命令无法找到的情况。简要描述一下基于CentOS 7下Java环境的配置及jps命令未找到的处理。
Leshami
2018/08/06
3.3K0
bash找不到命令_bash sed
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/09/29
1.8K0
bash
显示当前系统的进程数 # pstree init─┬─AliHids───4*[{AliHids}] ├─AliYunDun───8*[{AliYunDun}] ├─AliYunDunUpdate───3*[{AliYunDunUpdat}] ├─aliyun-service ├─crond ├─6*[mingetty] ├─nscd───7*[{nscd}] ├─ntpd ├─rsyslogd───3*[{rsyslogd}]
零月
2018/04/25
7900
bash
Bash 脚本 set 命令教程
服务器的开发和管理离不开 Bash 脚本,掌握它需要学习大量的细节。 set命令是 Bash 脚本的重要环节,却常常被忽视,导致脚本的安全性和可维护性出问题。本文介绍它的基本用法,让你可以更安心地使用
ruanyf
2018/04/12
1.7K0
Bash 脚本 set 命令教程
C# datagridview、datagrid、GridControl增加行号
在界面上拖一个控件dataGridView1,在datagridview添加行事件中添加如下代码:
用户9127601
2021/11/01
1.3K0
Bash 脚本 set 命令教程
服务器的开发和管理离不开 Bash 脚本,掌握它需要学习大量的细节。 set命令是 Bash 脚本的重要环节,却常常被忽视,导致脚本的安全性和可维护性出问题。本文介绍它的基本用法,让你可以更安心地使
崔庆才
2018/06/25
1.5K0
React技巧之鼠标悬浮添加行内样式
原文链接:https://bobbyhadz.com/blog/react-inline-style-hover[1]
chuckQu
2022/08/19
2K0
React技巧之鼠标悬浮添加行内样式
Bash 编程
有时,你可能希望像在命令行上那样运行命令,并将该命令的结果存储在一个变量中。我们可以通过将命令用美元符号和圆括号($())括起来来实现这一点。这种语法叫作命令替换 。例如:
章鱼猫先生
2021/10/15
4.4K0
Bash Shell
shell为用户与Kernel之间的一个接口:shell主要是一个命令解释器,它接受并解释用户输入的命令,然后将这些命令传给内核,最后由内核来执行这些命令。Bourn shell是现在所有shell的始祖,C shell增加了若干Bourn shell没有的特性,如命令行历史、别名和作业控制等。Korn shell增加了若干Bourn shell的超集,它具有类似C shell的加强功能。bash与Bourn shell兼容同时加入了csh、ksh和tcsh的一些有用的功能、GNU项目开发、也是实际上的标准Linux shell。系统中所有shell都存放在/etc/shells文件中。
狼啸风云
2019/01/18
1.5K0
点击加载更多

相似问题

熊猫添缺行

10

bash,在特定行之后添加行

11

Bash脚本“未找到fi行”

20

附加行Bash文件

23

在bash中将行与某些行合并

24
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文