Tag: bash

使用bash和regex在一行中查找并杀死一个进程

我经常需要在编程期间杀死一个进程。 我现在这样做的方式是: [~]$ ps aux | grep 'python csp_build.py' user 5124 1.0 0.3 214588 13852 pts/4 Sl+ 11:19 0:00 python csp_build.py user 5373 0.0 0.0 8096 960 pts/6 S+ 11:20 0:00 grep python csp_build.py [~]$ kill 5124 我怎样才能自动提取进程ID,并杀死它在同一行? 喜欢这个: [~]$ ps aux | grep 'python csp_build.py' | kill <regex that returns the pid>

在Bash中提取子string

给定一个文件名的formssomeletters_12345_moreleters.ext ,我想提取5位数字,并把它们放入一个variables。 所以为了强调这一点,我有一个文件名,其中包含x个字符,然后是一个五位数字序列,两边都是单个下划线,然后是另外一组x个字符。 我想采取5位数字,并将其放入一个variables。 我对这个可以完成的不同方式的数量非常感兴趣。

单线Bash无限while循环的语法

我有麻烦提出分号和/或大括号的正确组合。 我想这样做,但作为命令行的一行: while [ 1 ] do foo sleep 2 done

如何在Unix控制台或Macterminal上运行shell脚本?

我知道,忘记它,重新学习。 把时间写下来。

检查是否需要在Git中拉

如何检查远程存储库是否已经更改,我需要拉? 现在我使用这个简单的脚本: git pull –dry-run | grep -q -v 'Already up-to-date.' && changed=1 但是它相当重。 有没有更好的办法? 理想的解决scheme将检查所有远程分支,并返回更改分支的名称和每个提交的新数量。

给定两个目录树,我怎样才能找出哪些文件不同?

如果我想find两个目录树之间的差异,我通常只是执行: diff -r dir1/ dir2/ 这将正好输出相应文件之间的差异。 我感兴趣的是获取内容不同的相应文件的列表。 我认为这只是一个传递命令行选项来diff ,但是我在man page上找不到任何东西。 有什么build议么?

我怎样才能写一个heredoc Bash脚本中的文件?

如何在Bash脚本中将文档写入文件?

在bash shell脚本中传播所有参数

我正在写一个非常简单的脚本来调用另一个脚本,我需要将参数从当前脚本传播到正在执行的脚本。 例如,我的脚本名称是foo.sh并调用bar.sh foo.sh: bar $1 $2 $3 $4 我怎样才能做到这一点,没有明确指定每个参数?

如何清除/删除terminal中的当前行?

如果我正在使用terminal并input一行命令的文本,是否有一个热键或任何方式来清除/删除该行? 例如,如果我的当前行/命令是非常长的,如: > git log –graph –all –blah..uh oh i want to cancel and clear this line <cursor is here now> 有没有一个热键或命令从上面去: > ? 通常我会按↓键,如果我现在的线是历史上的一个全新的线,那就清除它。 但是如果通过↑键浏览我的命令历史logging并开始编辑或使用这些命令, ↓只会将提示更改为历史logging中的下一个最新命令,所以在这里不起作用,除非我多次按↓ 。

统计git仓库中的行数

我如何计算git仓库中所有文件中的总行数? git ls-files给了我一个由git跟踪的文件列表。 我正在寻找一个命令来cat所有这些文件。 就像是 git ls-files | [cat all these files] | wc -l