相关疑难解决方法(0)

如何使用grep查找多行的模式?

我想找到按顺序有"abc"和"efg"的文件,这两个字符串在该文件的不同行上.例如:包含内容的文件:

blah blah..
blah blah..
blah abc blah
blah blah..
blah blah..
blah blah..
blah efg blah blah
blah blah..
blah blah..
Run Code Online (Sandbox Code Playgroud)

应该匹配.

regex grep

190
推荐指数
10
解决办法
25万
查看次数

如何转储某些SQLite3表的数据?

如何转储数据,只转储数据库的某些SQLite3表(不是所有表)的数据,而不是模式?转储应该是SQL格式的,因为它应该稍后可以很容易地重新输入到数据库中,并且应该从命令行完成.就像是

sqlite3 db .dump
Run Code Online (Sandbox Code Playgroud)

但是没有转储模式并选择要转储的表.

sql sqlite

176
推荐指数
10
解决办法
21万
查看次数

如何在文件中搜索多行模式?

我需要找到包含特定字符串模式的所有文件.想到的第一个解决方案是使用带有xargs grep的find管道:

find . -iname '*.py' | xargs grep -e 'YOUR_PATTERN'
Run Code Online (Sandbox Code Playgroud)

但是如果我需要找到跨越多行的模式,我就会被卡住,因为vanilla grep找不到多行模式.

linux command-line grep find pcregrep

113
推荐指数
8
解决办法
12万
查看次数

如何使用sed/grep在两个单词之间提取文本?

我试图输出一个字符串,其中包含字符串的两个单词之间的所有内容:

输入:

"Here is a String"
Run Code Online (Sandbox Code Playgroud)

输出:

"is a"
Run Code Online (Sandbox Code Playgroud)

使用:

sed -n '/Here/,/String/p'
Run Code Online (Sandbox Code Playgroud)

包括端点,但我不想包含它们.

string bash grep sed

110
推荐指数
10
解决办法
40万
查看次数

将匹配Java方法声明的正则表达式

我需要一个匹配java方法声明的正则表达式.我提出了一个与方法声明相匹配的方法,但它要求方法的左括号与声明在同一行.如果您有任何改进我的正则表达式的建议或只是有一个更好的建议,请提交答案.

这是我的正则表达式: "\w+ +\w+ *\(.*\) *\{"

对于那些不知道java方法是什么样的人,我将提供一个基本的方法:

int foo()
{

}
Run Code Online (Sandbox Code Playgroud)

Java方法有几个可选部分也可以添加,但这些部分是保证方法的唯一部分.

更新:我目前的正则表达式是"\w+ +\w+ *\([^\)]*\) *\{"为了防止Mike和adkom描述的情况.

java regex methods

17
推荐指数
4
解决办法
2万
查看次数

如何在我的代码中找到未记录的方法?

我正在为一个项目编写文档,我想确保我没有错过任何方法.代码是用Python编写的,我使用PyCharm作为IDE.

基本上,我需要一个REGEX来匹配以下内容:

def method_name(with, parameters):
    someVar = something()
    ...
Run Code Online (Sandbox Code Playgroud)

但它不应该匹配:

def method_name(with, parameters):
    """ The doc string """
    ...
Run Code Online (Sandbox Code Playgroud)

我尝试使用带有REGEX功能的PyCharm搜索模式,):\s*[^"']因此它会匹配任何行,之后:不会以空格开头"'之后,但它不起作用.知道为什么吗?

python pycharm

6
推荐指数
2
解决办法
737
查看次数

在任何行匹配第二个模式的模式之间打印所有行

我有一个这样的电子邮件日志文件:

2013-09-11 12:02:08  INFO: ------------------------------
2013-09-11 12:02:08  INFO: Javamail session sending email
2013-09-11 12:02:08  INFO: Session properties: 
2013-09-11 12:02:08  INFO:    com.hof.email.starttime=20130911120208
2013-09-11 12:02:08  INFO:    mail.smtp.auth=true
2013-09-11 12:02:08  INFO:    mail.smtp.connectiontimeout=60000
2013-09-11 12:02:08  INFO:    mail.smtp.host=mailserver
2013-09-11 12:02:08  INFO:    mail.smtp.port=25
2013-09-11 12:02:08  INFO:    mail.smtp.timeout=60000
2013-09-11 12:02:08  INFO:    mail.transport.protocol=smtp
2013-09-11 12:02:08  INFO: From: Support
2013-09-11 12:02:08  INFO: To: Customer
2013-09-11 12:02:08  INFO: Subject: Your Report Data
2013-09-11 12:02:08  INFO: Message ID: <id>
2013-09-11 12:02:09  INFO: Email sent successfully
2013-09-11 12:02:09  INFO: Javamail session ended …
Run Code Online (Sandbox Code Playgroud)

regex bash awk sed

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

GREP - "点匹配换行"选项?

例:

...
Line
some text
other text
10
...
Run Code Online (Sandbox Code Playgroud)

是否有可能告诉GREP,^Line.*?^10$以便点匹配换行符,我得到这个输出:

Line
some text
other text
10
Run Code Online (Sandbox Code Playgroud)

如果没有,是否有一些Linux CLI工具可以做到这一点?

regex linux bash grep

3
推荐指数
1
解决办法
1921
查看次数

Grep - 使用"匹配"到文本文件末尾.*不起作用

我在ascii中有一个很长的文本文件.它经常会有Page: #####一条线.我希望从"Page:25141"开始,然后在文档末尾的每一行匹配.

我尝试过的一些组合是:

grep -E ^["Page: 25141".*] document.txt
grep  "Page: 25141.*" document.txt
grep  "Page: 25141\.\*" document.txt
grep -E "Page: 25141"[.*] document.txt
grep -E "Page: 25141"{.*} document.txt
grep -E {"Page: 25141".*} document.txt
Run Code Online (Sandbox Code Playgroud)

无法让这个工作.

regex bash grep

3
推荐指数
1
解决办法
3353
查看次数

有没有办法将以下逻辑放入grep命令?

例如,假设我有以下数据

ABC,3,4
,,ExtraInfo
,,MoreInfo
XYZ,6,7
,,XyzInfo
,,MoreXyz
ABC,1,2
,,ABCInfo
,,MoreABC
Run Code Online (Sandbox Code Playgroud)

获取grep以提取ABC线是微不足道的.但是,如果我还想抓住以下行来产生此输出

ABC,3,4
,,ExtraInfo
,,MoreInfo
ABC,1,2
,,ABCInfo
,,MoreABC
Run Code Online (Sandbox Code Playgroud)

可以使用grep和标准shell脚本来完成吗?

编辑:只是为了澄清它们之间可能存在可变数量的行.逻辑是在CSV的第一列为空时继续打印.

linux csv shell grep text

0
推荐指数
1
解决办法
93
查看次数

标签 统计

grep ×6

regex ×5

bash ×4

linux ×3

sed ×2

awk ×1

command-line ×1

csv ×1

find ×1

java ×1

methods ×1

pcregrep ×1

pycharm ×1

python ×1

shell ×1

sql ×1

sqlite ×1

string ×1

text ×1