我见过几个人这样做的例子:
grep [f]oobar
Run Code Online (Sandbox Code Playgroud)
但我不明白为什么这比
grep foobar
Run Code Online (Sandbox Code Playgroud) 给定任何 GitHub 存储库 url 字符串,例如:
git://github.com/some-user/my-repo.git
Run Code Online (Sandbox Code Playgroud)
或者
git@github.com:some-user/my-repo.git
Run Code Online (Sandbox Code Playgroud)
或者
https://github.com/some-user/my-repo.git
Run Code Online (Sandbox Code Playgroud)
从以下任何字符串中bash提取存储库名称的最佳方法是什么my-repo?该解决方案必须适用于上面指定的所有类型的 url。
谢谢。
如果 url 的前 5 位数字是数字,我需要在 nginx 中设置一个位置参数。
site.com/12345/ or site.com/12345
Run Code Online (Sandbox Code Playgroud)
但我似乎一辈子都无法得到正确的正则表达式。
这些都不起作用。
location ^/([0-9]) { }
location ^/(\d\d\d\d\d) {}
location /(\d\d\d\d\d) {}
Run Code Online (Sandbox Code Playgroud) 我有一个命令可以找到所有包含字符串“Font”的 PDF 文件
find /Users/me/PDFFiles/ -type f -name "*.pdf" -exec grep -H 'Font' '{}' ';'
Run Code Online (Sandbox Code Playgroud)
如何更改此命令以使其相反?查找所有不包含搜索字符串“字体”的 PDF 文件
我知道
ps ax
Run Code Online (Sandbox Code Playgroud)
返回 pid
1 ? Ss 0:01 /sbin/init
2 ? S< 0:00 [kthreadd]
3 ? S< 0:00 [migration/0]
Run Code Online (Sandbox Code Playgroud)
我所需要的只是清理这些字符串,但我无法使用 sed 来完成,因为我无法编写正确的正则表达式。你可以帮帮我吗?
如果我只想对 apache2.conf 中的某些文件应用规则,我可以使用 <FilesMatch>。
例如:
<FilesMatch ".(gif|jpg|jpeg|png|mpg|avi)$">
deny from env=hotlink
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)
但是有没有与 FilesMatch 相对的,即 FilesNotMatch?
我想要实现的是:
<FilesMatch ".(gif|jpg|jpeg|png|mpg|avi)$">
<FilesNotMatch "ban">
deny from env=hotlink
</FilesNotMatch>
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)
(拒绝盗链服务器上的所有图像但横幅)
或者你有什么建议我如何修改我的正则表达式以不匹配包含“ban”的任何内容?
是否可以在具有长度超过 x 的字符串(没有空格)的目录中找到文件?
我正在尝试使用 PowerShell 从字符串中去除奇数字符。我使用以下输出尝试自己学习:
get-help about_regular_expressions
Run Code Online (Sandbox Code Playgroud)
我正在尝试获取一个主要是 ASCII 的字符串,但它有一个需要删除的异常字符。(注册商标符号;R 周围有一个圆圈。)我想从字符串中删除该字符的任何出现,保持其他所有内容完好无损。使用 PowerShell 2.0 完成此操作的最简洁的表达式是什么?
[编辑]
我做了一些进一步的挖掘,我相信问题源于我正在使用的 Import-CSV 调用。
当我将此符号从记事本中剪切并粘贴到 PS 提示符中,并将其分配给一个字符串时,我匹配得很好:
# This code yields 'True'
$string -match "\u00ae"
Run Code Online (Sandbox Code Playgroud)
但是,当我在其中一个字段包含特殊符号的 CSV 文件上使用 Import-CSV 时,我相信原始字节会以某种方式被转换,因为这样做是行不通的:
# This code yields 'False'
$source = Import-CSV -path testing.csv
# The following extracts the entry / line containing the special symbol that was
# copy-and-pasted above
$culprit = $source[5].COMMITTEE_NAME
$culprit -match "\u00ae"
Run Code Online (Sandbox Code Playgroud)
但是,以下确实有效:
# This yields True
$filedata = get-content testing.csv
$filedata[6] -match "\u00ae"
Run Code Online (Sandbox Code Playgroud)
所以我认为我对所有这些的后续问题是:
如何通过 import-csv …
我想通过inotifywait 以递归方式监视创建或修改文件的任何事件的特殊路径,但我不知道我的问题是什么。
我有一些要排除的文件夹。
watchpath
-> folder1
-> file1
-> ingnorefile1 [IGNORE]
-> ignorefolder1 [IGNORE]
Run Code Online (Sandbox Code Playgroud)
如何使用正则表达式正确排除它们?
inotifywait -mr --exclude '(ignorefolder1|folder1\/ingnorefile1)' -e modify -e create -e delete . | while read date time dir file; do
Run Code Online (Sandbox Code Playgroud)
用于实现我的目标的正确正则表达式是什么?
我想从 www.mydomain.com 重定向到 nginx 中的 domain.com。我在网上搜索,找到了两种方法:
第一种方式
server {
listen 80;
server_name www.domain.com;
rewrite ^/(.*) http://domain.com/$1 permanent;
}
Run Code Online (Sandbox Code Playgroud)
第二种方式
server {
listen 80;
server_name www.domain.com;
return 301 $scheme://domain.com$request_uri;
}
Run Code Online (Sandbox Code Playgroud)
两种方式都有效。但是我应该使用哪一个,为什么?