对于具有像此示例这样的行的初始文件:
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中匹配行的开头和结尾?
原始输入?
? 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) 我正在尝试了解 linux、它的命令行和这句话:
您可能会遇到 glob 问题,因为
.*匹配.和..(当前和父目录)。您可能希望使用诸如.[^.]*或 之类的模式.??*来获取除当前目录和父目录之外的所有点文件。
什么时候(在什么命令中)你会使用.[^.]*或.??*?
我有这个 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命令来查找所有只包含长度大于 10 的单词的行。
这是grep我为了查找大于 10 个字符的单词而写的。
grep -E '(\w{11,})' input
Run Code Online (Sandbox Code Playgroud)
我将如何操作此命令以包含行上的每个单词?
更多的时候我喜欢承认我寻找一个包含一些字符串的文件。
目前我这样做:
grep -rl string1 | xargs grep -l string2 | xargs grep -l string3
Run Code Online (Sandbox Code Playgroud)
有没有更漂亮的工具?
这greps 为string1orstring2或string3。
grep -rl -e string1 -e string2 -e string3
Run Code Online (Sandbox Code Playgroud)
我想包含的文件string1和string2和string3,但不一定在同一行。
也许现代greps ( ag/ack/rg/sift) 之一可以做到这一点?
通常,当我通过 Tab 自动完成当前目录中唯一文件的文件名传递到命令之前,然后按多个 Tab(错误地),相同的文件名多次完成,我应该删除或取消并重新开始.
有没有办法禁用这种行为(不创建另一个文件或隐藏文件)?
ls <Tab>filename <Tab>filename <Tab>filename
Run Code Online (Sandbox Code Playgroud) 我想找到我的文件中有哪些控制字符。我不搜索特定字符,但有可能\t或\n。我有一个程序告诉我:Invalid control character。但当我打开文件时,我看不到任何东西。如何展现这些人物形象呢?我怀疑\nor\t或 一些添加空格的字符。
我尝试过:grep '\n' myfile.txt但在输出中它标记了该n字母。
我有一个由多个部分组成的文件,每个部分都以特定标题开头,但所有部分都以相同的字符串结尾,我想根据标题对文件部分进行排序,而不对每个部分的内容进行排序(即将整个部分作为一个部分)块)每两个部分之间还有一个空行,以澄清输入是否为的想法
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) 我有一个由 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) grep ×4
awk ×2
command-line ×2
autocomplete ×1
bash ×1
compression ×1
python ×1
sed ×1
shell-script ×1
sort ×1
vim ×1
wildcards ×1
zip ×1