我如何在sed(或任何类似的工具 - 例如awk)中混合模式和数值范围?我想要做的是匹配文件中的某些行,并在继续之前删除接下来的n行,我想将其作为管道的一部分.
我有一个简单的要求如下,
我得到绝对目录的文件名.
例如,/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函数或任何其他函数?
嗨,我正在尝试使用grep搜索我的rails目录.我正在寻找一个特定的单词,我想grep打印出文件名和行号.有一个grep标志会为我做这个吗?我一直在尝试使用-n和-l的组合,但这些都是打印出没有数字的文件名,或者只是将大量文本转储到终端,这些文本无法轻易读取.
例如:
grep -ln "search" *
Run Code Online (Sandbox Code Playgroud)
我需要将它管道输入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) 我想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) 我正在尝试搜索并替换linux机器上grep匹配的所有文件中的字符串.我有一些我想做的事情,但我不确定如何最好地将它们串在一起.
grep -n 'foo' * 会给我输出形式:
[filename]:[line number]:[text]
Run Code Online (Sandbox Code Playgroud)
对于grep返回的每个文件,我想用"bar"替换"foo"并将结果写回文件.有没有一个好方法呢?也许是一个奇特的管道?
在shell上,当我需要一个特定的列时,我会输入awk.
这打印了第9列,例如:
... | awk '{print $9}'
Run Code Online (Sandbox Code Playgroud)
如何告诉awk打印所有列,包括和列9之后,而不仅仅是第9列?
我有一个像这样的文件(user.csv)
ip,hostname,user,group,encryption,aduser,adattr
Run Code Online (Sandbox Code Playgroud)
想按用户打印所有列排序,
我试过awk -F ":" '{print|"$3 sort -n"}' user.csv,它不起作用.
我有多行以下数据:
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单线程呢?
我有两个文件:
档案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)