小编αғs*_*нιη的帖子

正则表达式匹配 Vim 中行的开头和结尾(引用整行)

对于具有像此示例这样的行的初始文件:

1
12
123
1234
12345
Run Code Online (Sandbox Code Playgroud)

文件的期望状态是

'1'
'12'
'123'
'1234'
'12345'
Run Code Online (Sandbox Code Playgroud)

我已经有两个命令这样做,:%s/^/'/g而且:%s/$/'/g,我想进入一个。但是,当我尝试

:%s/[$^]/'/g
Run Code Online (Sandbox Code Playgroud)

我收到错误

E486: Pattern not found: [$^]
Run Code Online (Sandbox Code Playgroud)

我知道^括号中的领先意味着排除,所以我认为$首先意味着匹配行的开头和结尾,这显然不会发生。

如何在vim中匹配行的开头和结尾?

vim text-processing regular-expression

5
推荐指数
2
解决办法
1万
查看次数

如何压缩多个子文件夹中的所有文件?

原始输入?

    ?  test tree
    .
    ??? f1.md
    ??? f2.md
    ??? f3.md
    ??? f4.txt
    ??? f5.csv
    ??? f6.doc
    ??? s1
    ?   ??? code
    ?   ??? data
    ?       ??? f1.md
    ?       ??? f2.md
    ?       ??? f3.md
    ?       ??? f4.txt
    ?       ??? f5.csv
    ?       ??? f6.doc
    ??? s2
    ?   ??? code
    ?   ??? data
    ?       ??? f1.md
    ?       ??? f2.md
    ?       ??? f3.md
    ?       ??? f4.txt
    ?       ??? f5.csv
    ?       ??? f6.doc
    ??? s3
    ?   ??? code
    ?   ??? data
    ?       ??? f1.md …
Run Code Online (Sandbox Code Playgroud)

command-line zip compression shell-script

5
推荐指数
2
解决办法
1309
查看次数

Linux 命令行:全局混淆

我正在尝试了解 linux、它的命令行和这句话:

您可能会遇到 glob 问题,因为.*匹配...(当前和父目录)。您可能希望使用诸如.[^.]*或 之类的模式 .??*来获取除当前目录和父目录之外的所有点文件。

什么时候(在什么命令中)你会使用.[^.]*.??*

command-line wildcards

5
推荐指数
2
解决办法
970
查看次数

如何打印没有匹配行的输入模式?

我有这个 grep 命令来查找具有匹配模式的文件。

grep -oiE 'pattern1|pattern2|pattern3|pattern4' *pattern_in_a_filename* | sort -u
Run Code Online (Sandbox Code Playgroud)

输出:

file_one:pattern1
file_two:pattern2
file_two:pattern3
Run Code Online (Sandbox Code Playgroud)

我想要的是pattern4像这个例子一样输出没有被发现的说法:

file_one:pattern1
file_two:pattern2
file_two:pattern3
pattern4 not found
Run Code Online (Sandbox Code Playgroud)

我正在制作成千上万种模式,并且必须尽快完成,因为这些是我们运营中所需的关键数据。

grep text-processing

5
推荐指数
3
解决办法
476
查看次数

grep 用于所有单词长度大于 10 个字符的行

我需要一个grep命令来查找所有只包含长度大于 10 的单词的行。

这是grep我为了查找大于 10 个字符的单词而写的。

grep -E '(\w{11,})' input
Run Code Online (Sandbox Code Playgroud)

我将如何操作此命令以包含行上的每个单词?

grep text-processing

5
推荐指数
1
解决办法
8065
查看次数

grep'ping 多个字符串的文件(不一定在同一行)

更多的时候我喜欢承认我寻找一个包含一些字符串的文件。

目前我这样做:

grep -rl string1 | xargs grep -l string2 | xargs grep -l string3
Run Code Online (Sandbox Code Playgroud)

有没有更漂亮的工具?

greps 为string1orstring2string3

grep -rl -e string1 -e string2 -e string3
Run Code Online (Sandbox Code Playgroud)

我想包含的文件string1string2string3,但不一定在同一行。

也许现代greps ( ag/ack/rg/sift) 之一可以做到这一点?

grep text-processing

5
推荐指数
1
解决办法
1120
查看次数

忽略单个相同文件名的自动完成

通常,当我通过 Tab 自动完成当前目录中唯一文件的文件名传递到命令之前,然后按多个 Tab(错误地),相同的文件名多次完成,我应该删除或取消并重新开始.

有没有办法禁用这种行为(不创建另一个文件或隐藏文件)?

ls <Tab>filename <Tab>filename <Tab>filename
Run Code Online (Sandbox Code Playgroud)

bash autocomplete

5
推荐指数
1
解决办法
139
查看次数

如何查找文件中的控制字符?

我想找到我的文件中有哪些控制字符。我不搜索特定字符,但有可能\t\n。我有一个程序告诉我:Invalid control character。但当我打开文件时,我看不到任何东西。如何展现这些人物形象呢?我怀疑\nor\t或 一些添加空格的字符。

我尝试过:grep '\n' myfile.txt但在输出中它标记了该n字母。

grep control-characters

5
推荐指数
1
解决办法
2万
查看次数

如何按字母顺序对文件各部分进行排序?

我有一个由多个部分组成的文件,每个部分都以特定标题开头,但所有部分都以相同的字符串结尾,我想根据标题对文件部分进行排序,而不对每个部分的内容进行排序(即将整个部分作为一个部分)块)每两个部分之间还有一个空行,以澄清输入是否为的想法

string5
z
y
x
string

string2
x
z
y
f
string
Run Code Online (Sandbox Code Playgroud)

所需的输出将是

string2
x
z
y
f
string

string5
z
y
x
string
Run Code Online (Sandbox Code Playgroud)

awk python text-processing sort

5
推荐指数
1
解决办法
831
查看次数

一组4行用AWK管理的段落

我有一个由 4 行的几个段落(超过 2000 个)组成的文件。对于每个段落,我需要匹配括号之间的内容,如下例所示。

所以对于每一段,

  • 条目是前两行。
  • 对于第三行,括号之间的当前内容将替换为第二行括号之间的内容。
  • 对于第四行,括号之间的当前内容将替换为第一行括号之间的内容。

我希望它足够清楚。

--输入--

A1 [A3 A4 A5] A2
B1 [B3 B4 B5] B2
C1 [C3 C4] C2
D1 [D3 D4] D2

E1 [E3 E4 E5] E2
F1 [F3 F4 F5] F2
G1 [G3 G4] G2
H1 [H3 H4] H2
Run Code Online (Sandbox Code Playgroud)

--输出--

A1 [A3 A4 A5] A2
B1 [B3 B4 B5] B2
C1 [B3 B4 B5] C2
D1 [A3 A4 A5] D2

E1 [E3 E4 E5] E2
F1 [F3 F4 F5] F2
G1 [F3 …
Run Code Online (Sandbox Code Playgroud)

sed awk text-processing

5
推荐指数
1
解决办法
203
查看次数