标签: awk

sed或awk:删除模式后面的n行

我如何在sed(或任何类似的工具 - 例如awk)中混合模式和数值范围?我想要做的是匹配文件中的某些行,并在继续之前删除接下来的n行,我想将其作为管道的一部分.

unix awk sed

91
推荐指数
3
解决办法
8万
查看次数

使用awk substr获取最后一个字段

我有一个简单的要求如下,
我得到绝对目录的文件名.
例如,/home/parent/child/filename
我的要求是从中删除文件名.
我试过的是:

awk -F "/" '{print $5}' input
Run Code Online (Sandbox Code Playgroud)

哪作得很好.
但是$5,如果我的输入具有如下结构,那么硬编码可能会有所不同:

/home/parent/child1/child2/filename
Run Code Online (Sandbox Code Playgroud)

所以它应该是动态的,没有硬编码.这是逻辑:
始终采用最后一个将是文件名的字段(因此需要从反向检查).

任何人都可以帮我解决awk substr函数或任何其他函数?

unix awk substr

84
推荐指数
5
解决办法
13万
查看次数

Grep列表文件名和行号

嗨,我正在尝试使用grep搜索我的rails目录.我正在寻找一个特定的单词,我想grep打印出文件名和行号.有一个grep标志会为我做这个吗?我一直在尝试使用-n和-l的组合,但这些都是打印出没有数字的文件名,或者只是将大量文本转储到终端,这些文本无法轻易读取.

例如:

  grep -ln "search" *
Run Code Online (Sandbox Code Playgroud)

我需要将它管道输入awk吗?

awk grep

81
推荐指数
4
解决办法
8万
查看次数

如何添加到包含sed或awk模式的行的末尾?

这是示例文件:

somestuff...
all: thing otherthing
some other stuff
Run Code Online (Sandbox Code Playgroud)

我想要做的是添加到以这样开头的行all::

somestuff...
all: thing otherthing anotherthing
some other stuff
Run Code Online (Sandbox Code Playgroud)

bash awk sed

81
推荐指数
6
解决办法
14万
查看次数

grep在不同行的文件中的多个字符串(即整个文件,而不是基于行的搜索)?

我想grep包含单词的文件Dansk,Svenska或者 Norsk在任何一行上使用可用的返回码(因为我真的只想知道包含字符串的信息,我的单行程稍微进一步了).

我有很多带有行的文件,如下所示:

Disc Title: unknown
Title: 01, Length: 01:33:37.000 Chapters: 33, Cells: 31, Audio streams: 04, Subpictures: 20
        Subtitle: 01, Language: ar - Arabic, Content: Undefined, Stream id: 0x20, 
        Subtitle: 02, Language: bg - Bulgarian, Content: Undefined, Stream id: 0x21, 
        Subtitle: 03, Language: cs - Czech, Content: Undefined, Stream id: 0x22, 
        Subtitle: 04, Language: da - Dansk, Content: Undefined, Stream id: 0x23, 
        Subtitle: 05, Language: de - Deutsch, Content: Undefined, Stream id: 0x24, 
(...) …
Run Code Online (Sandbox Code Playgroud)

bash awk grep

80
推荐指数
7
解决办法
10万
查看次数

Linux命令行全局搜索和替换

我正在尝试搜索并替换linux机器上grep匹配的所有文件中的字符串.我有一些我想做的事情,但我不确定如何最好地将它们串在一起.

grep -n 'foo' * 会给我输出形式:

[filename]:[line number]:[text]
Run Code Online (Sandbox Code Playgroud)

对于grep返回的每个文件,我想用"bar"替换"foo"并将结果写回文件.有没有一个好方法呢?也许是一个奇特的管道?

linux awk grep sed

79
推荐指数
4
解决办法
10万
查看次数

如何使用awk打印特定数字后的所有列?

在shell上,当我需要一个特定的列时,我会输入awk.

这打印了第9列,例如:

... | awk '{print $9}'
Run Code Online (Sandbox Code Playgroud)

如何告诉awk打印所有列,包括和列9之后,而不仅仅是第9列?

shell awk

79
推荐指数
6
解决办法
8万
查看次数

如何使用第3列的awk排序

我有一个像这样的文件(user.csv)

ip,hostname,user,group,encryption,aduser,adattr
Run Code Online (Sandbox Code Playgroud)

想按用户打印所有列排序,

我试过awk -F ":" '{print|"$3 sort -n"}' user.csv,它不起作用.

awk

79
推荐指数
6
解决办法
12万
查看次数

用逗号分隔多行(Perl/Sed/AWK)将多行转换为一行

我有多行以下数据:

foo
bar
qux
zuu
sdf
sdfasdf
Run Code Online (Sandbox Code Playgroud)

我想要做的是用一行和逗号分隔它们:

foo,bar,qux,zuu,sdf,sdfasdf
Run Code Online (Sandbox Code Playgroud)

什么是最好的unix单线程呢?

unix linux perl awk sed

78
推荐指数
6
解决办法
13万
查看次数

找到两个文本文件之间的差异,每行一个项目

我有两个文件:

档案1

dsf
sdfsd
dsfsdf
Run Code Online (Sandbox Code Playgroud)

档案2

ljljlj 
lkklk 
dsf
sdfsd
dsfsdf
Run Code Online (Sandbox Code Playgroud)

我想显示文件2中的内容,但不显示文件1中的内容,因此文件3应该如下所示

ljljlj 
lkklk 
Run Code Online (Sandbox Code Playgroud)

bash scripting awk sed file

77
推荐指数
6
解决办法
15万
查看次数

标签 统计

awk ×10

sed ×5

bash ×3

grep ×3

unix ×3

linux ×2

file ×1

perl ×1

scripting ×1

shell ×1

substr ×1