小编Zen*_*Zen的帖子

在 bash 中是否有重复第二个近似命令的快捷方式?

我们都知道!!可以重复您在 bash 中执行的最后一个命令。

但有时我们需要做一些操作,比如

$ python test.py
$ vim test.py

$ python test.py # here is where I need to repeat the second proximate bash command
Run Code Online (Sandbox Code Playgroud)

我可以使用向上箭头键来做到这一点,但这需要我将右手移到一个不舒服的位置。所以我想知道是否有一个命令!!可以工作?

command-line bash command-history

8
推荐指数
1
解决办法
790
查看次数

如何在bash中将带空格的字符串作为一个整体处理?

我想构建一个错误处理程序,它将创建一个标有 error_occur 时间的空文件。

核心思想是使用date命令的结果作为参数。

我做了:

time_stamp=$(date)
touch $time_stamp
Run Code Online (Sandbox Code Playgroud)

但事实证明,这会创建一系列空文件,例如2014, Wed, 11:15:20

如何在此处将时间戳转换为整个字符串?

shell bash shell-script

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

如何在awk中从第一个字符剪切到-7个字符?

我有一个多行的文件。

其中第二列是user_id,但最后七个数字是随机数。

需要修剪它才能获得真实的ID。

所以我需要的是获取1st character to the -7 character每行的第二列。

我搜索substr过awk的功能,好像不能直接处理这个工作。

那么,如何在 awk 中从第 1 个字符剪切到 -7 个字符?

awk

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

如何在没有git的情况下彻底比较两个目录?

这里彻底的意思是“列出所有不同的文件,找出那些同名不同内容的文件,列出不同的内容”。

在我得到一个懒惰的解决方案之前,git init一个目录并将另一个目录复制到其中。然后使用git diff查看差异。

但我想知道还有另一种更聪明的方法来做到这一点吗?于是我提出了这个问题。

diff files

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

如何在 Linux shell 中的“2015120”中表示日期格式?

我的同事正在生成带有前面日期格式的日志文件,例如2015120,代表一月1而不是01.

我用来处理此类问题的常用方法是使用datecommand.Like date +'%Y%m%d'。但是我使用了日期命令,结果他们没有提到在没有前面的 0 的情况下代表一月。

所以我想知道是否有另一种方式来表示2015120Linux 中的日期 ?

command-line bash date

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

如何理解命令 awk '{for(x=1;$x;++x)print $x}'?

我知道这个命令

awk '{for(x=1;$x;++x)print $x}' 
Run Code Online (Sandbox Code Playgroud)

将打印出一行中的所有列。

这不会++x 更改x为 2,从而$2先打印吗?正如我所理解的:https : //stackoverflow.com/questions/1812990/incrementing-in-c-when-to-use-x-or-x

$xin 做for(x=1;$x;++x)什么?

awk

5
推荐指数
2
解决办法
2468
查看次数

是否可以查看另一个 zip 文件中的 zip 文件的文件名列表?

我知道我可以unzip -l file.zip用来查看 zip 文件的文件列表。

但是在另一个 zip 文件中有一个 zip 文件。我试过了unzip -l file.zip/sub_file.zip,但失败了。

是否可以在sub_file.zip 不提取的情况下查看文件列表?

command-line bash zip

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

有没有办法改变 w3m 的颜色主题?

最近我在我的 .bashrc 中做了一些事情,这样我就可以在不打开浏览器的情况下用我的 bash 轻松地在线查询生词。

我选择w3m作为我的代理实用程序,问题是,它的默认颜色主题在我们的黑色背景终端下似乎不可读。我可以使用它的-M选项使其更具可读性。

但我仍然想知道,有没有办法改变它的颜色集,可能在一些配置文件中我可以改变一些参数来做到这一点?

PS:我在 OSX 上使用 iterm2。

我这个词查询的别名是:

function dee {w3m"http://www.oxfordlearnersdictionaries.com/definition/american_english/$1"; } 
export -f dee
Run Code Online (Sandbox Code Playgroud)

因此,您可以dee stack在将上述内容放入 bashrc 后使用 来搜索堆栈的定义。

w3m

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

vim 的“set spelllang”选项的完整语言缩写列表?

spell今天开始使用vim的检查功能。但似乎将汉字视为错误的拼写单词。

因此我做了一些研究,发现我应该使用set spelllang=X选项。

但问题是,我不知道Chinese这里的 vim 缩写是什么。我试过zhcn,都失败了。

我在谷歌上搜索了一些,也没有结果。

有人知道此spelllang选项中所有语言的缩写参考列表位于哪个文件、网页或帮助命令中吗?

vim

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

记录 crontab shell 脚本错误和错误发生时间?

记录 crontab 错误的常用方法如下所示:

1 */8 * * * sh /pseudo_path/test.sh 2>> my_err_log 
Run Code Online (Sandbox Code Playgroud)

这是一个简洁的命令,但它不能记录错误发生的时间,并且省略了脚本文件的路径。

于是我写了一个错误记录函数:

PROGNAME=$(readlink -f "$0")
SCRIPT_ERR_LOG_PATH="/pseudo_path/script_err_log"

error_exit()
{
    timestamp="$(date +%Y%m%d-%H:%M:%S)"
    x_info=$(echo "Error_${PROGNAME}:Line_${1:-"null"}_")
    zeta=$x_info$timestamp
    echo "$zeta" >> $SCRIPT_ERR_LOG_PATH
    exit 1
}
Run Code Online (Sandbox Code Playgroud)

该函数可以记录错误发生的时间以及脚本的绝对路径。但缺点是我必须|| error_exit $LINENO在脚本的每一行添加它才能使其工作。使用 Vim 的批量替换可能会容易得多,但它看起来仍然是一个笨拙的解决方案。

那么,有没有更聪明或更有效的方法来完成同样的任务?

bash cron logs shell-script error-handling

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

标签 统计

bash ×5

command-line ×3

awk ×2

shell-script ×2

command-history ×1

cron ×1

date ×1

diff ×1

error-handling ×1

files ×1

logs ×1

shell ×1

vim ×1

w3m ×1

zip ×1