97得票12回答
使用shell脚本在指定模式之后将多行插入文件

我希望您能够使用Shell脚本将多行文本插入到文件中。 假设我的输入文件内容为: input.txt:abcd accd cdef line web 现在我需要在文件中的" cdef "一行后面插入四行内容。插入后,我的文件应该像这样更改:abcd accd cdef line1 line2 ...

96得票4回答
awk - 连接两个字符串变量并赋值给第三个变量

在awk中,我有两个字段:$1和$2。 它们都是字符串,我想将它们连接起来并赋值给一个变量。

94得票4回答
使用sed,在模式上方或下方插入一行?

我需要编辑很多文件,在唯一的模式下面或上面插入一行或多行。请建议如何在shell中使用sed、awk、perl或其他任何工具来实现。谢谢!示例:some text lorem ipsum dolor sit amet more text 我想在lorem ipsum dolor sit ame...

92得票3回答
为什么sed中正则表达式中的`\d`无法生效?

我试图在sed中使用正则表达式\d,但它不起作用:sed -re 's/\d+//g' 但这是有效的:sed -re 's/[0-9]+//g'

82得票9回答
使用sed或awk打印匹配模式后的下一行

问题:我想在包含匹配模式的行后直接打印一行。 我的版本的sed不支持以下语法(它会在+1p处失败),这似乎是一个简单的解决方案:sed -n '/ABC/,+1p' infile 我认为使用awk进行多行处理会更好,但我不确定如何做。

81得票9回答
命令行:在grep匹配的所有文件名中进行搜索和替换

我想要在所有与grep匹配的文件中搜索并替换一个字符串: grep -n 'foo' *会以以下形式给出输出:[filename]:[line number]:[text] 对于grep返回的每个文件,我想通过将foo替换为bar来修改文件。

78得票4回答
使用awk命令找出一列的平均值

我正在尝试使用 awk 找到数据第二列的平均值。这是我的当前代码,使用了我的教练提供的框架:#!/bin/awk ### This script currently prints the total number of rows processed. ### You must edit th...

77得票8回答
如何从文件的每一行中去除前导空格

我有一个类似于下面的文件:for (i = 0; i < 100; i++) for (i = 0; i < 100; i++) for (i = 0; i < 100; i++) for (i = 0; i < 100; i++) ...

77得票4回答
使用awk打印从零开始的行号

请问如何使用awk打印包括0在内的行号? 这是我的输入文件stackfile2.txt 当我运行下面的awk命令时,我得到的结果为actual_output.txtawk '{print NR,$0}' stackfile2.txt | tr " ", "," > actual_ou...

77得票6回答
我们能在awk中使用shell变量吗?

我们是否可以在AWK中使用Shell变量,如$VAR,而不是$1,$2?例如:UL=(AKHIL:AKHIL_NEW,SWATHI:SWATHI_NEW) NUSR=`echo ${UL[*]}|awk -F, '{print NF}'` echo $NUSR echo ${UL[*]}|a...