使用 awk 添加列。这个 awk 命令有什么问题?

2024-04-24

我想将两列添加到大约 10,000 列的文件中。我想在每行插入 nr 22 作为第一列。然后我想要将原始第一列作为第二列,然后作为第三列我想要插入第 nr (NR) 行,之后我想要打印其余的原始列。我想我可以用下面的 awk 行来做到这一点:

awk '{print 22, $1, NR; for(i=2;i<=NF;++i) print $i}' file

它很好地打印了前三列(22、$1、NR),但之后,每个值都会开始一个新行,因此文件打印如下:

22 $1 NR
$2
$3
$4
etc...

代替:

22 $1 NR $2 $3 $4 etc...

我做错了什么?


怎么样使用printf相反,因为print添加换行符。

awk '{printf("%d, %d, %d, ", 22, $1, NR); for(i=2;i<=NF;++i) printf("%d, ", i)}' file

或者你可以玩ORS and OFS, the 输出记录分隔符输出字段分隔符。通常你将它们添加到BEGIN像这样的声明:

awk 'BEGIN { ORS = " " } {print 22, $1, NR; for(i=2;i<=NF;++i) print $i}{print "\n"}' file 

请注意,额外的printf "\n"是必需的,否则一切都会在一行上结束......

阅读更多内容gawk 手动输出分隔符 http://www.gnu.org/software/gawk/manual/gawk.html#Output-Separators

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 awk 添加列。这个 awk 命令有什么问题? 的相关文章

  • 如何使用AWK从文件中连续输出行

    我有一个多行文件 我想连续输出文件的某些行 比如第一次 从第1行打印到第5行 下次 打印第2行到第6行 依此类推 我发现 AWK 是一个非常有用的函数 我尝试自己编写代码 但它什么也没输出 以下是我的代码 bin bash for n in
  • BASH - 随机排列文件中字符串中的字符

    我有一个文件 filename txt 具有以下结构 gt line1 ABC gt line2 DEF gt line3 GHI gt line4 JKL 我想打乱字符串中的字符not开始机智 gt 输出将 例如 如下所示 gt line
  • 按行号和列号对文件进行子集化

    我们想要按行和列对文本文件进行子集化 其中行数和列数是从文件中读取的 不包括标题 第 1 行 和行名称 第 1 列 输入文件 txt制表符分隔的文本文件 header 62 9 3 54 6 1 25 1 2 3 4 5 6 96 1 1
  • Linux 文本文件操作

    我有一个格式的文件 a href a href a href a href 我需要选择 之后但 之前的文本 并将其打印在行尾 添加后 例如 a href http www wowhead com search Su a a a a a
  • 如何删除最后一次出现模式后的所有行?

    我想删除最后一次出现模式之后的所有行 除了模式本身 file txt honor apple redmi nokia apple samsung lg htc file txt 我想要什么 honor apple redmi nokia a
  • 通过特定分隔符删除字符串

    我的文件中有几列 其中第二列有 分隔符 我想删除第二列中的第一个 第三个和第四个字符串 并将第二个字符串留在该列中 但我有正常的分隔符空间 所以我不知道 input 22 16050075 A G 16050075 A G 22 16050
  • git 别名中的 AWK 语句

    我正在尝试创建一个 git 别名来以特定格式打印日志中的所有拉取请求 但是 我在使用 AWK 删除双空格时遇到问题 这是使用以下命令的 git log 的输出 git log merges grep pull request pretty
  • Awk - 计算两个文件之间的每个唯一值和匹配值

    我有两个文件 首先 我尝试获取第 4 列中每个唯一字段的计数 然后匹配第二个文件的第二列中的唯一字段值 File1 第 4 列的每个唯一值和 File2 第 2 列包含我需要在两个文件之间匹配的值 所以本质上 我试图 gt 如果 file2
  • sed/awk/bash 用外部文件内容替换两个字符串之间的文本

    我正在编写一个脚本 命令 它将采用 inputFile1 在其中查找特定的开始和结束字符串 并替换它们之间的所有文本 包含 inputFile2 的完整内容 理想情况下 但不是强制性的 这应该不需要转义特殊字符即可工作 因此我可以将字符串放
  • bash:清理三个文件的外连接,保留文件成员资格

    考虑以下三个文件 其标题位于第一行 file1 id name in1 1 jon 1 2 sue 1 file2 id name in2 2 sue 1 3 bob 1 file3 id name in3 2 sue 1 3 adam 1
  • 用于编辑 /etc/sudoers 文件的正则表达式模式

    我想删除 etc sudoers 文件中的 uncommnet 轮组 那么我应该使用什么正则表达式模式 cat etc sudoers Allows members of the sys group to run networking so
  • 仅替换引号之间的空格

    我有日志文件中的一行 field 1234 text in quotes 1234 other text in quotes 我想替换引号之间的空格 这样我就可以使用空格作为分隔符来提取列 所以结果可能是这样的 field 1234 tex
  • awk 返回两个变量

    现在这就是我正在做的事情 ret ls la awk print 3 9 usr echo ret awk print 1 fil echo ret awk print 2 问题是我没有运行ls我正在运行一个需要时间的命令 因此您可以理解其
  • 使用 awk 如何组合两个文件中的数据并将第二个文件中的值替换到第一个文件中?

    有什么想法如何使用 awk 进行以下操作吗 两个输入文件 data txt和keys txt data txt 包含一些数据 A 1 B 2 A 3 keys txt 包含 键 值 对 本例中的 C 不是 data txt 的一部分 但 a
  • Bash如何使用awk在空行上分割文件

    我有一个文本文件 A in 我想将其拆分为多个文件 每次发现空行时都应该进行拆分 文件名应该是渐进的 A1 in A2 in I found this https stackoverflow com questions 16483507 s
  • 使用 awk 从文件中提取特定行

    我有两个文件 一个文件是我的数据 另一个文件是我想从数据文件中提取的行号列表 我可以使用 awk 读取行文件 然后提取与行号匹配的行吗 例子 数据文件 This is the first line of my data This is th
  • AWK 将十进制转换为二进制

    我想使用 AWK 将文件中的十进制数字列表转换为二进制 但似乎没有内置方法 示例文件如下 134218506 134218250 134217984 1610612736 16384 33554432 这是一个 awk 方式 为您的乐趣而函
  • 在linux中将包含word的行从一个文件复制到另一个文件

    我想复制包含某些单词的行file1 to file2 Suppose file1 ram 100 ct 50 gopal 200 bc 40 ravi 50 ct 40 krishna 200 ct 100 file2应该只有包含 ct 的
  • awk - 连接两个字符串变量并分配给第三个

    在 awk 中 我有 2 个字段 1 和 2 它们都是我想要连接并分配给变量的字符串 只需使用var var1 var2它会自动连接变量var1 and var2 awk new var 1 2 print new var file 您可以
  • awk 脚本中出现“BEGIN 块必须有操作部分”错误

    这是我的代码 bin sh filename usr bin find name INSTANCE log echo filename is filename awk BEGIN print Processing file filename

随机推荐

  • 正则表达式捕获部分行

    我一直在努力捕获 snmp 响应的一部分 Text IF MIB ifDescr 1 1 1 g1 Office to DMZ Regex P
  • 如何使用我自己的 CSS 设计 Twitter 小部件的样式

    我有自己的 Twitter feed 设计 并且我想使用我自己的设计来设计默认 feed 的样式 有没有办法做到这一点 问题是您无法使用 CSS 选择器 因为它仅在加载页面后才出现 请检查这张图片 让您更多地了解我需要什么 Thanks 好
  • 使用 FileSystemWatcher 从文件中获取新行

    我正在观看一个包含以下代码的文件 FileSystemWatcher watcher new FileSystemWatcher watcher Path C watcher Filter t log watcher Changed new
  • matlab中的分箱

    我一直无法在 matlab 或 Octave 中找到函数来完成我想要的操作 我有一个两列的矩阵 m x 和 y 值 我知道我可以通过执行 m 1 或 m 2 来提取列 我想将其分成 可能 大小相等的较小矩阵 并绘制这些矩阵的平均值 换句话说
  • 替换sql server 2000中的ntext(超过4000个字符)

    如何替换sql server 2000中ntext列中超过4000个字符的文本 转换为 nvarchar max 不起作用 因为它会截断值 使用 TEXT NTEXT 是一团糟 这是尽快摆脱这些字段的众多原因之一 您需要使用 READTEX
  • 如何在Linux内核中启用CONFIG_PREEMPT选项?

    我是 Linux 内核编程的新手 尝试在 x86 64 上使用旧内核 Linux 2 6 32 我想启用其中的 CONFIG PREEMPT 选项 但找不到有关如何执行此操作的信息 我可以使用我的首选选项编译新内核 但不知道在这种情况下我需
  • 如何在没有 JoinTables 的 JPA 中创建一对多关系?

    我正在尝试使用以下表结构在 JPA 中创建 OneToMany 关系 CATALOG catalogId PK name PRODUCT productId PK name catalogId FK 我将类定义为 Entity public
  • Neo4j - 计算带有标签的节点

    我想要一个查询来计算数据集中有多少个节点具有每个标签 例如 标签A 100 标签B 200 我可以为每个单独的标签执行此操作 例如 MATCH n LabelA return count n 但是 我想在一个命令中为每个标签执行此操作 尝试
  • 普通的 console.warn() 显示在日志中,并带有服务器性“错误”

    当我记录一些东西时console warn 它似乎出现在 Stackdriver 日志中 严重性为 错误 Stackdriver 错误报告不显示这些错误 因此它们似乎不被视为错误 这使得无法过滤日志以仅显示错误 读取 Stackdriver
  • iFrame 中的 Angular2 不安全资源 URL 与 DomSanitationService

    背景 我正在为我们正在研究的过渡策略进行概念验证 该策略将在我们致力于将现有功能转换为 Angular 的同时将 旧 Web 应用程序引入 iFrame Issue 我遇到的问题是尝试在 iFrame 上设置 src 标记 我正在尝试使用
  • REST 何时/如何取代 SOAP [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我目前正在写关于 IT 技术等的论文
  • 如何在php中检查来自其他网站的cookie并不允许访问我的网站?

    如何在php中检查来自其他网站的cookie并不允许访问我的网站 如果客户端有 cookie 示例 如果有来自 www example com 的 cookie 它会被重定向到其他网站吗 请帮助我其他网站上的一些人对我的不良网站发表评论 我
  • Android - 将 ProgressBar 设置为垂直条而不是水平条?

    我正在尝试使用 ProgressBar 作为类似计量的显示 我认为这将是一个简单的任务 并认为 ProgressBar 有一个属性可以设置为垂直 但我没有看到任何东西 此外 我希望能够在栏的侧面显示类似标尺的指示器 以清楚地指示当前级别 感
  • 在 Linux 中生成相同的数字,但在 Windows 中则不然

    下面的代码旨在生成区间 1 100 中的五个伪随机数的列表 我播种default random engine with time 0 它返回系统时间UNIX时间 https en wikipedia org wiki Unix time 当
  • 与 Post 进行交叉呼叫,但在飞行前失败

    我必须从我的网站向第三方域 服务器进行网络服务调用 当我使用 jQuery Ajax by Post 方法和 content type text plain 进行此调用时 它工作正常 但是 当我将其更改为 content type text
  • 如何隐藏 WPF ListView 的标头?

    我希望能够隐藏 WPF ListView 中每个网格列顶部的标题 这是我的 ListView 的 XAML
  • 在同一 URL 上运行 SOAP 和 RESTful

    假设我们有一个响应主机标头 kebab shop intra net 的网站 此 URL 中是否可以同时包含 SOAP 和 RESTful 也就是说 这两者都是在已部署的代码中处理的 kebab shop intra net takeawa
  • 在我的绘画程序中绘制矩形时出现错误

    public partial class Form1 Form Point downPoint upPoint List
  • iPhone HTML5 音频标签不起作用

    我遇到了音频标签无法在 iPonhe 上工作的问题 在 W3Schools 网站上测试时它可以播放 HTML5 音频标签 但不适用于我下面的网站
  • 使用 awk 添加列。这个 awk 命令有什么问题?

    我想将两列添加到大约 10 000 列的文件中 我想在每行插入 nr 22 作为第一列 然后我想要将原始第一列作为第二列 然后作为第三列我想要插入第 nr NR 行 之后我想要打印其余的原始列 我想我可以用下面的 awk 行来做到这一点 a