标签: bash

Bash:替换最后一个命令中出现的所有单词

几乎是错误的,我发现您可以执行以下操作:

$ cp foo.data bar1.data
$ ^bar1^bar2
Run Code Online (Sandbox Code Playgroud)

并且使用bar2.data而不是运行相同的命令bar1.data。现在,如果我多次出现目标词呢?例如:

$ cp foo.data bar.data
$ ^data^index
Run Code Online (Sandbox Code Playgroud)

它只替换第一个data扩展名。我如何让它替换两者?

linux bash command-line

15
推荐指数
2
解决办法
4234
查看次数

bash:彩色手册页

我必须在系统中的何处查看以对手册页进行着色?

手册页的查看次数较少,因此我尝试将以下几行添加到我的 .bashrc 中以更改颜色:(顺便说一句,这很好用。)

 #
 #   L E S S   C O L O R S   F O R   M A N   P A G E S
 #

 # CHANGE FIRST NUMBER PAIR FOR COMMAND AND FLAG COLOR
 # currently 0;33 a.k.a. brown, which is dark yellow for me 
    export LESS_TERMCAP_md=$'\E[0;33;5;74m'  # begin bold

 # CHANGE FIRST NUMBER PAIR FOR PARAMETER COLOR
 # currently 0;36 a.k.a. cyan
    export LESS_TERMCAP_us=$'\E[0;36;5;146m' # begin underline

 # don't change anything here
    export LESS_TERMCAP_mb=$'\E[1;31m'       # …
Run Code Online (Sandbox Code Playgroud)

bash shell colors pager man

15
推荐指数
2
解决办法
3219
查看次数

循环使用 wget 下载一系列数字

如何编写将执行以下操作的 bash 脚本:

URL = "example.com/imageID="
while (1..100)
   wget URL + $i #it will wget example.com/imageID=1, then 2, then 3, etc
done
Run Code Online (Sandbox Code Playgroud)

所以我有许多循环要执行,一个以循环中的数字结尾的 URL。我需要wget所有这些。

bash wget shell-script

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

使用 UNIX 通配符列出文件范围

举例来说,我的工作目录中有以下文件:mjk0001.fits、mjk0002.fits、...数字一直增加到 mjk9999.fits。

有没有办法使用 UNIX 通配符来列出或操作它们的顺序组?例如,如果我需要在 0025 到 0050 上运行一个进程,我会使用什么格式?

我尝试了以下但没有成功:

ls *[25-50].fits
ls mjk00[25-50].fits
ls mjk[0025-0050]*
ls *[0025-0050]*
Run Code Online (Sandbox Code Playgroud)

提前谢谢大家,MK

unix bash command-line ls

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

将 /usr/local/sbin 添加到用户的 PATH

如果我输入

echo $PATH
Run Code Online (Sandbox Code Playgroud)

我只得到

/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

我如何添加/usr/local/sbin到路径中,以便下次它已经存在?

(我使用 debian 挤压)

debian bash path

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

Ubuntu:运行另一个命令的输出

我有输出不同命令行的命令行,例如:

> commandlineA param1 param2
  commandlineB param1
Run Code Online (Sandbox Code Playgroud)

我想要一个单一的命令行执行,它将使用给定的参数运行 commandlineB。

有没有什么简单的方法可以使用单个命令行来做到这一点,或者我是否需要运行一个小的 bash 文件来将输出存储在一个变量中然后运行它?

谢谢

bash command-line ubuntu

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

如何配置 git bash 以显示每个命令的时间戳?

我在 Windows7 上运行 git 的 bash 来管理项目的源代码控制。

我可以编辑C:\Program Files (x86)\Git\etc\git-prompt.sh以使我在运行命令时使用时间戳吗?

例如代替

user.name@machine /c/somedirectory
$ git pull origin develop
remote: Counting objects: 1, done.
Run Code Online (Sandbox Code Playgroud)

显示

user.name@machine /c/somedirectory
$ git pull origin develop
21/04/2016 20:15:33
remote: Counting objects: 1, done.
Run Code Online (Sandbox Code Playgroud)

所以我可以知道在特定时间之前/之后是否运行了某些东西。

windows-7 bash git-bash

15
推荐指数
2
解决办法
6191
查看次数

OS X 上的 Bash 4.3 子串负长度

Bash 4.2 添加了对负子字符串长度的支持:

http://tldp.org/LDP/abs/html/abs-guide.html#SUBSTREXTR01

例 37-12。字符串提取构造中的负参数

当“length”参数为负数时,它用作偏移量参数。

例如,在 Ubuntu 上测试时输出“World”:

STR="Hello World!"
echo ${STR:6:-1}
Run Code Online (Sandbox Code Playgroud)

但是在 OS X(GNU bash,版本 4.3.42(1)-release (x86_64-apple-darwin14.5.0))中,这种用法会产生以下错误:

-1: substring expression < 0
Run Code Online (Sandbox Code Playgroud)

这是 OS X 特定的,还是在以后的 bash 更新中再次被禁用?有没有办法为 OS X 启用此功能?

bash string-manipulation

15
推荐指数
2
解决办法
6751
查看次数

如何在bash中用引号(如命令参数)分割字符串?

我有一个这样的字符串:

"aString that may haveSpaces IN IT" bar foo "bamboo" "bam boo"
Run Code Online (Sandbox Code Playgroud)

我希望能够像这样拆分它:

aString that may haveSpaces IN IT
bar
foo
bamboo  
bam boo
Run Code Online (Sandbox Code Playgroud)

我怎么做?(最好使用单线)

linux bash string-manipulation string

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

Bash shell:列出 .png 或 .PNG 类型的所有文件?

在 bash 脚本中,我如何说“对于 .png 或 .PNG 类型的所有文件”?

我想 :

for i in (`ls *.PNG` && `ls *.png`)
Run Code Online (Sandbox Code Playgroud)

但是出现语法错误。

bash shell shell-script

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