javascript

java

python

c#

android

c++

node.js

php

html

jquery

ios

reactjs

css

.net

git

ruby-on-rails

sql

c

ruby

string

bash-如何从目录中递归查找所有文件扩展名?

我可以使用什么命令或命令集合来返回目录(包括子目录)中的所有文件扩展名?

现在,我正在使用lsgrep的不同组合,但是找不到任何可扩展的解决方案。

trans by 2020-08-09T05:59:19Z

bash-使用命令管道作为di的参数

我在完成此简单任务时遇到了麻烦:

cat file | grep -E ^[0-9]+$ > file_grep
diff file file_grep

问题是,我要在没有echo的情况下执行此操作

我努力了:

diff file `cat file | grep -E ^[0-9]+$`

diff file "`cat file | grep -E ^[0-9]+$`"

以及其他一些组合:-),但我无法正常工作。当3002492068068032939008获得额外的参数,即grep过滤的文件的内容时,我总是会出错。

当我想要在这样的脚本中使用300249206803232939008命令输出(使用反引号转义)时,类似的东西总是对我有用:

echo `ls`

谢谢

trans by 2020-08-08T15:23:24Z

bash-始终在grep中包含第一行

我经常用第一行的列名称来grep CSV文件。 因此,我希望grep的输出始终包括第一行(以获取列名)以及与grep模式匹配的任何行。 做这个的最好方式是什么?

trans by 2020-08-05T01:40:21Z

正则表达式-无法使用sed或grep都不提取捕获组

我想从键值对语法中提取值对,但我不能。
我试过的例子:

echo employee_id=1234 | sed 's/employee_id=\([0-9]+\)/\1/g'

但这给出了employee_id=1234,而不是实际上是捕获组的1234

我在这里做错了什么? 我也尝试过:

echo employee_id=1234| egrep -o employee_id=([0-9]+)

但没有成功。

trans by 2020-08-04T19:50:52Z

regex-egrep和grep之间的区别

我对|中的||有疑问。

当我最近在|中研究|时,我想知道grep和egrep之间有什么区别。

我发现我们可以在正则表达式中使用grep和egrep。 但是,我发现这两个命令之间有些不同:

对于|,grep和egrep具有相同的含义,即在开始时发现包含给定填充的行。

但是,对于|,grep表示|前面没有反斜杠,表示|的字符,如果我在其前面加上反斜杠,则它会打开它的特殊含义,即发现行包含前面的东西 在它后面。 但是,对于egrep,情况恰恰相反。 使用grep时,|具有grep的后一个含义,而使用grep时,\|具有grep的前一个含义。

可以请其他人解释为什么吗?

trans by 2020-07-25T14:50:32Z

linux-如果我们要搜索版本化的源代码,使用git grep比普通grep更好吗?

在git存储库中,使用git grep与旧的grep有什么区别/好处?
一个例子是?

trans by 2020-07-24T13:55:13Z

linux-使用iconv从UTF-16LE转换为UTF-8

嗨,我正在尝试从Microsoft SQL Server转换一些日志文件,但是这些文件是使用UTf-16LE编码的,而iconv似乎无法转换它们。

我在做:

iconv -f UTF-16LE -t UTF-8 <filename>

我还尝试删除该行末尾的所有回车符(如果有的话),但这也无法解决。 如果我使用可以工作的gedit保存它,但这不是可行的解决方案,因为我有数百个这样的文件。

编辑:请为缺少的选项查看新答案

trans by 2020-07-23T13:51:22Z

linux-在折叠后的gzip压缩文件中查找字符串

我当前的问题是我大约有10个文件夹,其中包含压缩文件(每个文件平均大约5个)。 这使它可以打开和查看50个文件。

有没有一种更简单的方法来查找文件夹内的gzip压缩文件是否具有特定模式?

zcat ABC/myzippedfile1.txt.gz | grep "pattern match"
zcat ABC/myzippedfile2.txt.gz | grep "pattern match"

除了编写脚本,我还可以对所有文件夹和子文件夹执行同一行吗?

for f in `ls *.gz`; do echo $f; zcat $f | grep <pattern>; done;
trans by 2020-07-14T15:29:27Z

正则表达式-如何在grep中每个文件一次匹配?

是否有任何grep选项可以让我控制匹配的总数,但在每个文件的第一个匹配处停止?

例:

如果我这样做-m我会得到:

./app.coffee:express = require 'express'
./app.coffee:passport = require 'passport'
./app.coffee:BrowserIDStrategy = require('passport-browserid').Strategy
./app.coffee:app = express()
./config.coffee:    session_secret: 'nyan cat'

如果我执行-m,我会得到:

./app.coffee:config = require './config'
./app.coffee:passport = require 'passport'

但是,我真正想要的是此输出:

./app.coffee:express = require 'express'
./config.coffee:    session_secret: 'nyan cat'

-m无法正常工作,因为我得到了-m

./app.coffee:express = require 'express'

尝试不使用grep例如 这个-m产生了:

config = require './config'
    session_secret: 'nyan cat'

更新:如下所述,GNU grep -m选项将每个文件的计数视为计数,而BSD grep的-m则将其视为全局匹配计数

trans by 2020-07-01T01:49:06Z

ack错过了结果(与grep相比)

我敢肯定,我对ack的文件/目录忽略默认设置有误解,但也许有人可以为我提供一些启示:

mbuck$ grep logout -R app/views/
Binary file app/views/shared/._header.html.erb.bak.swp matches
Binary file app/views/shared/._header.html.erb.swp matches
app/views/shared/_header.html.erb.bak: <%= link_to logout_text, logout_path, { :title => logout_text, :class => 'login-menuitem' } %>
mbuck$ ack logout app/views/
mbuck$

而...

mbuck$ ack -u logout app/views/
Binary file app/views/shared/._header.html.erb.bak.swp matches
Binary file app/views/shared/._header.html.erb.swp matches
app/views/shared/_header.html.erb.bak
98:<%= link_to logout_text, logout_path, { :title => logout_text, :class => 'login-menuitem' } %>

不带选项的简单调用~/.ackrc不能在.bak文件中找到结果,但是带--unrestricted的选项可以找到结果。 据我所知,ack默认情况下不会忽略.bak文件。

更新

感谢以下有用的评论,以下是我的~/.ackrc的新内容:

--type-add=ruby=.haml,.rake
--type-add=css=.less
trans by 2020-06-25T07:51:15Z

如何在Vim中进行类似于“ grep -w”的全字搜索

我该如何在Vim中像grep -w那样进行全字搜索,该搜索仅返回所搜索字符串是完整字而不是较大字的一部分的行?

grep -w:仅选择包含构成整个单词的匹配项的行。

可以在Vim中完成吗?

trans by 2020-06-23T14:10:33Z

sed-如何在目录树中递归查找和替换所有出现的字符串?

仅使用grep和sed,如何替换所有出现的情况:

a.example.com

b.example.com

/home/user/目录树下的文本文件中,也以递归方式查找并替换子目录中所有文件中的所有匹配项。

trans by 2020-06-23T06:55:12Z

递归猫将所有文件合并到单个文件中

我有一堆文件放在像这样的文件夹中

data\A\A\A\json1.json
data\A\A\A\json2.json
data\A\A\B\json1.json
...
data\Z\Z\Z\json_x.json

我想将所有json合并到一个文件中吗?

trans by 2020-06-22T19:23:58Z

Unix grep正则表达式包含“ x”但不包含“ y”

我需要unix grep的单遍正则表达式,其中包含Alpha,但不包含Beta。

grep 'alpha' <> | grep -v 'beta'
trans by 2020-06-20T20:00:11Z

linux-来自tar.gz的grep,没有提取[更快的]

我正在尝试从十几个文件.tar.gz中复制grep模式,但速度非常慢

正在使用

tar -ztf file.tar.gz | while read FILENAME
do
        if tar -zxf file.tar.gz "$FILENAME" -O | grep "string" > /dev/null
        then
                echo "$FILENAME contains string"
        fi
done
trans by 2020-06-17T02:31:50Z

grep-在包含的docker日志中查找字符串

在Docker容器的日志中找到特定字符串的最佳方法是什么? 假设我想查看所有在“ nginx” docker映像中发出的请求,这些请求来自以“ 127”开头的ip。

grep无法在docker logs命令上按预期工作:

docker logs nginx | grep "127."

它打印所有日志,但不过滤结果!

trans by 2020-02-22T15:06:36Z

bash-具有多种颜色的Grep输出?

bash中是否有一种优雅的方法可以对具有两个或多个模式的文本文件运行MALE,并且每个匹配的模式都以不同的颜色输出?

因此,在MALEAUGUST上匹配的行会以蓝色输出MALE,并以橙色输出AUGUST?我愿意使用sedawkgrep和蜡笔等。

trans by 2020-02-19T18:33:46Z

如何“ grep”出fi的特定行范围

很多时候,我会grep -n whatev文件来寻找我想要的东西。 说输出是

1234: whatev 1
5555: whatev 2
6643: whatev 3

如果我只想提取1234和5555之间的行,是否有工具可以做到这一点? 对于静态文件,我有一个脚本,该脚本执行文件的wc -l,然后执行数学运算以用尾巴和头部将其分开,但对于经常写入的日志文件,效果不佳。

trans by 2020-02-12T04:38:57Z

bash-是否有一种简单的方法可以将“原始”字符串传递给grep?

从命令行使用^时,不能将它们输入“原始”字符串,因为某些字符需要转义以免被视为文字。 例如:

$ grep '(hello|bye)' # WON'T MATCH 'hello'
$ grep '\(hello\|bye\)' # GOOD, BUT QUICKLY BECOMES UNREADABLE

我正在使用^自动转义字符串:

$ printf '%q' '(some|group)\n'
\(some\|group\)\\n

这将生成字符串的以bash格式转义的版本,并使用反引号将其轻松传递给grep调用:

$ grep `printf '%q' '(a|b|c)'`

但是,这显然不是要这样做的:输出中的某些字符不会转义,而某些字符不必要地转义。 例如:

$ printf '%q' '(^#)'
\(\^#\)

传递给grep时,不应转义^字符。

是否有一个cli工具可以接收原始字符串,并返回可以以grep形式直接用作模式的bash转义版本的字符串? 如果不是,我怎么能用纯bash实现呢?

trans by 2020-02-06T05:45:05Z

R:如何获取grep返回匹配项,而不是整个字符串

我在R问题中可能是一个真正愚蠢的$。 抱歉,因为这似乎应该是如此简单-我显然只是想丢点东西。

我有一个字符串向量,我们将其称为$@中的一些内容打印如下:

T.8EFF.SP.OT1.D5.VSVOVA#4   
T.8EFF.SP.OT1.D6.LISOVA#1  
T.8EFF.SP.OT1.D6.LISOVA#2   
T.8EFF.SP.OT1.D6.LISOVA#3  
T.8EFF.SP.OT1.D6.VSVOVA#4    
T.8EFF.SP.OT1.D8.VSVOVA#3  
T.8EFF.SP.OT1.D8.VSVOVA#4   
T.8MEM.SP#1                
T.8MEM.SP#3                      
T.8MEM.SP.OT1.D106.VSVOVA#2 
T.8MEM.SP.OT1.D45.LISOVA#1  
T.8MEM.SP.OT1.D45.LISOVA#3

我希望grep给我一些出现在这些字符串中的D后面的数字,条件是包含“ LIS”的字符串和一个空字符串或其他内容。

我希望grep可以返回捕获组的值,而不是整个字符串的值。 这是我的R风格正则表达式:

pattern <- (?<=\\.D)([0-9]+)(?=.LIS)

没有什么太复杂的。 但是为了获得我想要的东西,而不是仅仅使用$,我正在执行以下操作,这似乎很糟糕:

reg.out <- regexpr(
    "(?<=\\.D)[0-9]+(?=.LIS)",
    alice,
    perl=TRUE
)
substr(alice,reg.out,reg.out + attr(reg.out,"match.length")-1)

现在看来,它看起来并不难看,但要使这件琐碎的事情付诸实践,却花了很多时间来弄乱自己。 任何人有关如何正确处理此问题的任何指示?

指向我的网页的奖金标记,该网页解释了我使用$@attr访问的内容之间的区别。

trans by 2020-01-31T03:59:58Z

1 2 3 4 5 6 7 下一页 共7页