小编voi*_*ces的帖子

如何使 bash glob 成为字符串变量?

系统信息

操作系统:OS X

bash:GNU bash,版本 3.2.57(1)-release (x86_64-apple-darwin16)

背景

我希望 Time Machine 从我的所有 git/nodejs 项目中排除一组目录和文件。我的项目目录在~/code/private/~/code/public/所以我试图使用 bash 循环来执行tmutil.

问题

精简版

如果我有一个计算的字符串变量k,我如何使它在 for 循环之前或之前 glob :

i='~/code/public/*'
j='*.launch'
k=$i/$j # $k='~/code/public/*/*.launch'

for i in $k # I need $k to glob here
do
    echo $i
done
Run Code Online (Sandbox Code Playgroud)

在下面的长版本中,您将看到k=$i/$j. 所以我不能在 for 循环中对字符串进行硬编码。

长版

#!/bin/bash
exclude='
*.launch
.classpath
.sass-cache
Thumbs.db
bower_components
build
connect.lock
coverage
dist
e2e/*.js
e2e/*.map
libpeerconnection.log
node_modules
npm-debug.log
testem.log
tmp
typings
' …
Run Code Online (Sandbox Code Playgroud)

bash shell-script quoting wildcards

23
推荐指数
2
解决办法
3万
查看次数

如何找到虚拟机的IP?

如果我有一个 VM(例如使用 VirtualBox)在我的主操作系统中运行;如何从原始(主机)操作系统中识别(虚拟机的)虚拟接口和 IP 地址?

我以为我可以只使用ifconfigip a或类似的; 但没有显示与连接的虚拟机相关的信息。尽管它显示主(主机)操作系统已192.168.1.104通过wlan0.

但是,如果我从 VM 内部运行这些命令之一,我可以确认它当前处于活动状态 @ 10.0.2.15via eth0

ip virtual-machine vmware virtualbox virtual-interface

9
推荐指数
2
解决办法
7万
查看次数

仅将第一个匹配行替换为 sed

使用 BSD sed(无 GNU 扩展),我如何执行类似于下面提供的示例的操作,但替换是在出现模式的第一行执行,而不是行号(而不是必须指定实际数量)?

限制行号

最简单的限制是行号。
如果你想删除第3行的第一个数字,只需在命令前添加“3”即可:

sed '3 s/[0-9][0-9]*//' <filename >newfilename

来源: http: //www.grymoire.com/Unix/Sed.html#uh-26

osx bsd sed text-processing regular-expression

6
推荐指数
1
解决办法
4713
查看次数

将 asciinema 输出转换为 gif

我可以转换.json文件吗?由类似的程序生成asciinema;成动画.gif

images typescript gif

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

如何强制PID终止?

是的,我已经尝试了谷歌搜索的所有基本方法kill,等等。 有时它有效,有时似乎有什么东西阻止进程终止。 命令失败时没有任何消息,但、等显示进程仍在运行。pkill

stderrkillpspgrep

有没有更有力的方法来做到这一点?谢谢。

process kill process-management pkill

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

仅当某行位于指定的行号并且与模式匹配时,如何删除该行?

仅当某行位于指定的行号并且与模式匹配时,如何删除该行?


例如:

  • 我要删除( d);
  • 所述第三线(3);
  • 如果它是空白的( ^$);

以下语法:

cat file | sed '3 /^$/d'
Run Code Online (Sandbox Code Playgroud)

返回以下错误:

sed: -e expression #1, char 3: unknown command: `/'
Run Code Online (Sandbox Code Playgroud)

bash sed

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

使用 find -exec 删除文件扩展名

使用时find,如何.pdf从第二对-exec大括号 ( {}) 中删除原始文件扩展名 (即)?


例如:

find ~/Documents -regex 'LOGIC.*\.pdf' -exec pdf2svg {} {}.svg \;
Run Code Online (Sandbox Code Playgroud)

输入文件名:

~/Documents/LOGIC-P_OR_Q.pdf
Run Code Online (Sandbox Code Playgroud)

输出文件名:

~/Documents/LOGIC-P_OR_Q.pdf.svg
Run Code Online (Sandbox Code Playgroud)

所需文件名:

~/Documents/LOGIC-P_OR_Q.svg
Run Code Online (Sandbox Code Playgroud)

command-line find filenames

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

调查有问题的流程

当命令或进程似乎挂起、冻结、崩溃或发生其他情况时;有没有办法准确调查它当前在幕后正在做什么(如果有的话)?

对于确定它是否崩溃或者是否只是在执行一项冗长的任务特别有用。如果它的行为不符合预期,它可以帮助排除故障。谢谢。

troubleshooting freeze command crash processes

2
推荐指数
1
解决办法
867
查看次数

airodump-ng - WPS 列中的缩写是什么?

使用时airodump-ng;与-W/--wps启用的标志,
什么是新列显示的缩写;
像:LABDISPKPADPBC,等..?

手册中只是简单提到:

  -W, --wps
         Display a WPS column with WPS version, config method(s), 
         AP Setup Locked obtained from APs beacon or probe response (if any).
Run Code Online (Sandbox Code Playgroud)

wifi airodump-ng aircrack-ng wps

2
推荐指数
1
解决办法
8975
查看次数