Tag: awk

添加到包含模式的行的末尾 – 使用sed或awk

这是示例文件 somestuff… all: thing otherthing some other stuff 我想要做的就是添加到以all:开头的行all:像这样: somestuff… all: thing otherthing anotherthing some other stuff 我可能可以使用sed来做这个,但是我并不擅长sed,所以有人可以帮忙吗?

如何在awk中转义单引号

我想要做以下 awk 'BEGIN {FS=" ";} {printf "'%s' ", $1}' 但以这种方式转义单引号是行不通的 awk 'BEGIN {FS=" ";} {printf "\'%s\' ", $1}' 这个怎么做? 感谢帮助。

如何查看所有被svn忽略的模式:在SVN仓库中recursion地忽略?

我发现可以使用proplist和-R标志(recursion)和-v标志(详细)来查看在SVN存储库中的每个目录上设置的属性列表: svn proplist -Rv 这显示了我所有的属性,如svn:mime-type或svn:executable。 我期待过滤这只是svn:ignore属性。 我确信有一些方法可以通过shell命令从这个命令中获得结果,这个命令只会显示我感兴趣的行,但是我不知道该怎么做。 作为最有用的东西types的一个例子是这样的命令types(但这不起作用!)。 svn proplist -Rv | grep "^ svn:ignore" | awk "{print \$1}" 我只是不太了解像grep和awk这样的shell命令来使这个工作适合我。 这只是一遍又一遍地显示“svn:ignore”,但是它不打印svn:ignore属性的目录path或内容。 这里是一个从“svn proplist -Rv”输出的例子,我想抓取,其中'cache'是path,'*'是属性的值。 Properties on 'cache': svn:ignore * 上面的命令如何工作和/或有没有更好的方法来查看我的资源库中的所有svn:ignore属性?

用逗号分隔多行代码(Perl / Sed / AWK)

我有多行中的以下数据: foo bar qux zuu sdf sdfasdf 我想要做的就是用一行和逗号分隔来转换它们: foo,bar,qux,zuu,sdf,sdfasdf 什么是最好的unix单线程来做到这一点?

用awk打印除第一个字段以外的所有内容

我有一个如下所示的文件: AE United Arab Emirates AG Antigua & Barbuda AN Netherlands Antilles AS American Samoa BA Bosnia and Herzegovina BF Burkina Faso BN Brunei Darussalam 我想反转订单,首先打印除$ 1和$ 1之外的所有东西: United Arab Emirates AE 我怎样才能做到“除场1之外的一切”技巧?

bash将文件内容附加到现有文件的底部

可能重复: Shell脚本将文本追加到每个文件? 如何将输出附加到SHELL脚本中的文本文件的末尾? 我试图找出将api的详细信息插入预先存在的configuration的最佳方法。 我想过使用sed将api文本文件的内容插入到config.inc文件的底部。 我已经启动了脚本,但不起作用,它擦除了文件。 #!/bin/bash CONFIG=/home/user/config.inc API=/home/user/api.txt sed -e "\$a $API" > $CONFIG 我究竟做错了什么?

grep,awk和sed之间的差异

可能重复: Perl,Python,AWK和sed有什么区别? sed和awk有什么区别? 也许不是一个非常具体的问题,但是我对grep , awk和sed在Unix / Linux系统pipe理和文本处理方面的差异感到困惑。

在sed或awk的特定行号处插入一行

我有一个脚本文件,我需要修改与另一个脚本插入文本在第8行。 要插入的string: Project_Name=sowstest ,放入名为start的文件中。 我试图使用awk和sed,但我的命令变得乱码。

bash:获得第n列输出的最短途径

比方说,在你的工作date间,你反复遇到以下forms的列表输出(在我的Rails工作目录中执行svn st ): ? changes.patch M app/models/superman.rb A app/models/superwoman.rb 为了处理命令的输出 – 在这种情况下是文件名 – 需要进行某种parsing,以便第二列可以用作下一个命令的input。 我一直在做的是使用awk来获得第二列,例如当我想删除所有文件(不是那是一个典型的用例:),我会这样做: svn st | awk '{print $2}' | xargs rm 由于我input了很多,所以一个自然的问题是:在bash中是否有一个更短的(因此更酷)的方式来完成这个任务? 注:我所要求的实质上是一个shell命令的问题,即使我的具体例子是在我的svn工作stream程。 如果你觉得工作stream是愚蠢的,并build议一种替代方法,我可能不会投票给你,但其他人可能,因为这里的问题是真正如何获得第b列中的第n列命令输出,以尽可能最短的方式。 谢谢 :)

Linux命令行全局search和replace

我试图在Linux机器上search和replacegrep匹配的所有文件中的string。 我已经得到了一些我想要做的事情,但是我不确定如何将它们串在一起。 grep -n 'foo' *会以下面的forms输出: [filename]:[line number]:[text] 对于由grep返回的每个文件,我想用“bar”replace“foo”并将结果写回到文件中。 有没有一个很好的方法来做到这一点? 也许是一个奇特的pipe道?