Questions tagged «patterns»


1
正则表达式(Big | Small)(State | City)-[0-9] * \。csv的.gitignore模式等效项是什么
我有一个正则表达式卡在我.gitignore类似于: (Big|Small)(State|City)-[0-9]*\.csv 它没有用,所以我对RegexLab.NET进行了测试。 然后,我找到了gitignore手册页,这使我了解到gitignore不使用正则表达式,而是使用fnmatch(3)。 但是,fnmatch它似乎没有等效的捕获组。这可行吗?还是需要将其分为三行?

1
echo [9876543210]显示1 4 5 6…为什么?
请解释为什么最后四个echo语句显示1 4 5 6?我曾经无意中碰到了这个,但是现在我好奇为什么会发生这种行为。 这些语句按预期工作(对我而言)。 $ echo [ 9876543210 ] [ 9876543210 ] $ echo [237890] [237890] 这些echo语句始终显示1 4 5 6.这些数字是否有特殊之处? $ echo [9876543210] 1 4 5 6 $ echo [abcd9876543210ghi] 1 4 5 6 $ echo [-123456-] 1 4 5 6 $ echo [-7654321-] 1 4 5 6 谢谢! …


2
如何在查找中使用逻辑或?
在bash shell中ls可以通过使用逻辑OR功能(当然我也可以这样做,ls name1 name2但是我的真实示例更加复杂): ls @(name1|name2) 有没有办法做到这一点find? 我天真的实现: find . -maxdepth 1 -name @("name1"|"name2") 不起作用(它什么也不输出)
12 find  ls  patterns 

3
查找以数字结尾的文件
我正在尝试制作一些备份脚本,因为日志文件越来越大。我现在正在处理当前文件(例如中的secure文件/var/log/)并从该文件中删除内容。但是有些文件的名称如:secure.1,secure.2我希望对所有这些文件进行计数,如果数量更大,则2可以全部归档。我找不到找到此文件或计数它们的方法。我想到的第一个想法是: find /var/log/ -name *.1 | wc -l 1因为仅有一个文件,它将始终打印secure.1。我怎样才能像在for循环中那样在其中可以指定一定范围内的数字,例如{1..5}或类似数字。有没有一种方法可以分隔此文件,并使它们成为一个文件,然后对其进行备份或删除,或者执行任何操作……或者首先,我如何才能找到所有以数字结尾的数字。

1
如何查找文件名中包含换行符的文件?
我正在尝试查找文件名中包含换行符的文件。但是我不知道该使用哪种模式。 以下工作有效,但如果要在缩进代码中使用它,则不是很有用。 find . -name '* *' 我尝试了这两个,但他们只成功找到了包含字母n的文件名: find . -name '*\n*' find . -name "*\n*" 然后,我发现了如何编写反斜杠转义序列并尝试了此操作: find . -name "*$'\n'*" 但这什么也找不到。我应该如何写模式?
10 shell  find  patterns 

5
bash中路径名称的模式匹配
我想对目录中的子目录列表进行操作。考虑: for x in x86-headers/*/C/populate.sh; do echo $x; done 这给 x86-headers/elf/C/populate.sh x86-headers/gl/C/populate.sh x86-headers/gmp/C/populate.sh x86-headers/gnome2/C/populate.sh x86-headers/gtk2/C/populate.sh x86-headers/jni/C/populate.sh x86-headers/libc/C/populate.sh 但我想值对应于路径的第二部分 elf,gl等我知道如何去掉领先x86-headers。 for x in x86-headers/*/C/populate.sh; do i=${x##x86-headers/}; echo $i; done 这使 elf/C/populate.sh gl/C/populate.sh gmp/C/populate.sh gnome2/C/populate.sh gtk2/C/populate.sh jni/C/populate.sh libc/C/populate.sh 我也知道如何删除路径中的后续术语。即下降一级: cd x86-headers for x in */C/populate.sh; do i=${x%%/*}; echo $i; done 给 elf …


1
猛击不如预期
这是一个作业问题: 将所有文件名与2个或多个以小写字母开头但不以大写字母结尾的字符匹配。 我不明白为什么我的解决方案无法正常工作。 所以我执行了以下内容: touch aa touch ha touch ah touch hh touch a123e touch hX touch Ax ls [a-z]*[!A-Z] 输出: aa ha 我的问题:为什么不匹配“ ah”,“ hh”或“ a123e”?


7
如何使用`sed`匹配确切的字符串?但不是它的一部分。
我有一个输入文件FILE1.TXT如下。 11 id1 12 13 AGE = 20 14 NAME = NAME1 15 16 id2 17 18 AGE = 30 19 NAME = NAME2 . . . 110 idXYZ 111 112 AGE = AGEXYZ 113 NAME = NAMEXYZ 114 115 idZZZ 116 我想搜索属于特定ID的所有字段并获取NAME的值 我设法遍历每个Id,并根据需要为每个Id形成了以下命令。 sed -n '/11/,/14/p' FILE1.TXT | grep …
8 sed  string  patterns 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.