小编slh*_*hck的帖子

bash 变量在哪里定义?

如何找到在那里定义了 bash 变量的文件?

假设echo命令显示

$ echo $DB_ROOT
/home/mahmood/db-4.0
Run Code Online (Sandbox Code Playgroud)

现在,我怎样才能找到在那里定义了这个变量的文件?我不得不说我没有在~/.bashrc.

linux bash

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

在命令行历史中向前搜索

有了Ctrl + R你可以在以前的命令进行搜索。如果您Ctrl + R再次点击,它将显示以前的旧命令。问题在于此搜索是“一种方式”,每次按 时它总是显示较旧的结果Ctrl + R

现在,如果我点击Ctrl+R太多次而错过了我真正想要的结果,我必须停止我的搜索 ( Ctrl + G) 并从头开始。

是否有任何命令 ( Ctrl + something) 可以搜索比当前显示的结果“更新”的结果?

linux terminal keyboard-shortcuts command-line

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

ffmpeg 的 fps 选项是什么意思?

我正在尝试从视频中捕捉一些快照。所以我在他们的官方页面找到了这段代码:

ffmpeg -i myvideo.avi -f image2 -vf fps=fps=1/60 img%03d.jpg
Run Code Online (Sandbox Code Playgroud)

但是,我找不到任何关于选项的文档,他们也从不解释。

所以如果你知道一些关于 ffmpeg 选项的参考或文档,请分享。

这篇文章的主要问题是什么image2 -vf fps=fps=1/60意思。我不明白为什么他们只是这样写fps=1/60。而image2某种选择还是什么的?

下面的有什么区别?

ffmpeg -i filename.avi -ss 00:00:01 -r 1/60 image%03d.png
Run Code Online (Sandbox Code Playgroud)

video ffmpeg

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

使用sed在文件中用下划线替换点

我试图使用 sed 编辑文件的输出。文件内容为

cat /tmp/Group_RM
t.p@k.p
t.m@k.k
Run Code Online (Sandbox Code Playgroud)

我试图获得如下输出:

cat /tmp/Group_RM
t_p@k_p
t_m@k_k
Run Code Online (Sandbox Code Playgroud)

我尝试了以下命令,但输出看起来很奇怪:

cat /tmp/Group_RM | sed 's/./_/g'
Run Code Online (Sandbox Code Playgroud)

输出是:

____ ___
_______
Run Code Online (Sandbox Code Playgroud)

sed 用下划线替换所有字符。当我尝试用“.”替换“_”时,sed 完美运行。

linux bash sed

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

如何在 Linux 上使用 Bash 脚本删除嵌套的空目录?

我希望能够运行一个脚本来删除我所有的空目录。问题是其中一些是嵌套的,即其中只有空目录的目录,因此脚本需要递归。

我知道这个:

find /media/server/data001/Unprotected/Downloads/ -type d -empty -exec rmdir {} \;
Run Code Online (Sandbox Code Playgroud)

但我不知道如何让它一次又一次地运行,直到处理完所有嵌套目录然后停止。

linux bash recursive

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

替换 HTML 文件中的多行模式

我有一系列 HTML 文件,其中包含如下两行:

<body>
<h1>Title</h1><p>
<a href="url">Description</a><br>
Run Code Online (Sandbox Code Playgroud)

我想使用 bash 脚本用其他内容替换此文本。我想

sed -i -r 's/<h1>Title.*?$\/^.*?<br>/Replacement text/1' filename.html
Run Code Online (Sandbox Code Playgroud)

但它不起作用。我怀疑它卡在新线路上,不知道如何解决这个问题。

任何帮助表示赞赏。随意推荐其他 Linux 工具sed,只要它可以工作!

linux sed find-and-replace

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

如何运行 mogrify,但在文件名前加上前缀?

我在同一目录中有 300k+ jpg 文件。文件是这样的:

/covers    
0788862281217.jpg
0788863155104.jpg
7888311516341.jpg
7888370920479.jpg
7888497074277.jpg
Run Code Online (Sandbox Code Playgroud)

我需要批量调整大小,将调整大小的图像保存在同一目录中,文件名中带有前缀th_,例如

th_0788862281217.jpg
th_0788863155104.jpg
th_7888311516341.jpg
th_7888370920479.jpg
th_7888497074277.jpg
Run Code Online (Sandbox Code Playgroud)

都在里面 /covers

以下工作,但它覆盖了源文件

$ find thumbs -type f -name "*.jpg" | xargs mogrify -resize 75x75
Run Code Online (Sandbox Code Playgroud)

所以我必须将所有图像复制到一个新目录 (/covers/thumbs) 中,然后运行批处理,然后将所有文件移回 /covers

linux imagemagick

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

终端空白,.bash_profile 损坏

我正在学习配置 OS X Mountain Lion 的教程,但在编辑后不知何故bash_profile我无法正确运行终端。

终端启动得很好但是是空白的,如果等待足够长的时间会出现“[进程完成]”,但仅此而已,尽管我仍然可以写入,但我无法运行任何命令。

当我查看 Inspector 时,我发现“登录”过程运行良好,但对于“bash”则是另一回事——它的 ID 与“ruby”一起上升。

这是我遵循的教程

.bash_profile在问题出现之前添加的内容是:

export ARCHFLAGS="-arch x86_64"
export PATH=/usr/local/share/python:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
test -f ~/.bashrc && source ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

terminal bash osx-mountain-lion macos

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

cron 仍然为残疾用户运行吗?

如果用户passwd -l user在服务器上被禁用(使用),他们的 cron 作业是否也被禁用?

还是他们还会跑?

user-accounts cron ubuntu

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

如何在 Vim 中显示相对于当前行号的行号?

我可以在 Vim 7.3 中拥有这个功能吗?

3    blah
2    blah
1    hello
512  current line
1    blah
2    blah
3    blah
Run Code Online (Sandbox Code Playgroud)

行号将相对于当前行号显示,当前行号以绝对数字显示。

vim

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