小编man*_*ork的帖子

为什么在这种情况下大括号中的参数不会扩展?

例如,我想将一些文件名放在大括号内进行扩展,如下所示:

$ ls
blue_texture  blue_waves  green_light
$ ls -m | tr -d ' \n'
blue_texture,blue_waves,green_light 
$ echo foo/bar/{`ls -m | tr -d ' \n'`}
foo/bar/{blue_texture,blue_waves,green_light}
Run Code Online (Sandbox Code Playgroud)

我的问题为什么大括号扩展在这里不起作用?我希望它按以下方式工作:

$ echo foo/bar/{blue_texture,blue_waves,green_light}
foo/bar/blue_texture foo/bar/blue_waves foo/bar/green_light
Run Code Online (Sandbox Code Playgroud)

command-line bash brace-expansion

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

为什么创业公司选择 Linux 而不是 FreeBSD?

FreeBSD 是一个操作系统。Linux,严格来说只是一个内核,但是两个系统并没有太大的不同,至少在性能上可以说是不相上下的。

开源软件可跨两个平台运行,因此不存在跨平台问题。

对专业服务支持的依赖不会太高,因为 Web 应用程序可以从社区获得帮助。

这种趋势是如何发展的?FreeBSD 最佳实践?有没有成功案例?

linux freebsd

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

如何在 bash 中一次替换多个子字符串?

我有一个目录包含要在 bash 中回显的图像文件。在回显时,我想在单行命令中替换文件名和扩展名。

示例文件:

images/file_name_1.jpg
images/file_name_2.jpg
Run Code Online (Sandbox Code Playgroud)

通常,我可以像这样进行单一替换:

images/file_name_1.jpg
images/file_name_2.jpg
Run Code Online (Sandbox Code Playgroud)

输出变成这样:

for i in images/*; do echo ${i/file/image}; done
Run Code Online (Sandbox Code Playgroud)

如何将其保留在 for 循环中并将“jpg”字符串也替换为“png”?这只是一个例子,我可以将点替换为逗号等。

当我尝试这个时:

images/image_name_1.jpg
images/image_name_2.jpg
Run Code Online (Sandbox Code Playgroud)

这不起作用。我找不到任何其他解决方案或想法。这可能吗?如果可以,怎么做?

bash shell-script replace

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

这个 sed 命令是如何工作的?

我想了解以下sed命令是如何工作的:

sed -nre "/jar$/ { x; d; }; /class$/ { x; p; }
Run Code Online (Sandbox Code Playgroud)

实际上,它是从给定的 jar 文件列表中查找特定类文件的另一个命令的一部分:

find . -name "*jar" -print -exec jar -tf '{}' \; | grep -E "jar$|CLASS_NAME" | sed -nre "/jar$/ { x; d; }; /class$/ { x; p; } "
Run Code Online (Sandbox Code Playgroud)

sed shell-script

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

如何调整时间命令来测量程序经过的时间

我正在尝试获取我的程序完成所需的时间(又名经过时间),因此我使用了常见的time.

这样做我得到的是 3 个度量:用户、系统和总数。这很好,但我发现我感兴趣的用户时间只有两位小数,我需要更多。有什么办法可以从我的时间命令中获得更多小数位吗?

示例:time ./myCProgram
输出:0.17s 用户 1.21s 系统 130% cpu 0.187 总计

想要的输出:0.17000s 用户 1.21s 系统 130% cpu 0.187 总计(或更多小数位)

c time benchmark

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

$() 和 `` 的不同行为

% PATH="MYPATH"
% VAR="PATH"

% echo $(eval echo \$$VAR)
MYPATH

% echo `eval echo \$$VAR`
5707VAR
 ^^
This is the process number.
Run Code Online (Sandbox Code Playgroud)

我认为这两个完全相同,但显然存在一些差异,例如逃避行为。有什么区别?

shell bash command-substitution variable-substitution

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

Shell命令从复杂的目录结构中获取所有文件

我正在寻找一个 shell 命令,以便获取复杂目录结构中的所有文件。通过复杂的目录结构,我的意思是有一个包含超过 150 个子文件夹的根文件夹,每个子文件夹至少有 3 个子文件夹。

ls shell bash

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

删除文本文件中不需要的行

我所需要的只是删除文本文件中偶数行的sedorawk代码。没什么特别的,我只需要删除文本文件偶数行上的不相关数据。

sed awk text-processing

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

回声 $? 返回 0 而不是 1

[root@server ~]# bash << eof
> cat adsfasdf
> echo $?
> eof
cat: adsfasdf: No such file or directory
0
Run Code Online (Sandbox Code Playgroud)

谁能解释为什么它返回退出状态 0 而不是 1?

bash shell-script

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

bash 字符串提取

我想从以下字符串的最后一部分中提取第二个字段:

foo_1.103.debug_xx.ver21-inc-1          --> string extracted "debug_xx"
foo_1.103.1.0.release_32_xx.ver21-inc-1 --> string extracted "release_32_xx"
foo_1.103.1.0.release_xx.ver21-inc-1    --> string extracted "release_xx"
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激。

bash shell-script

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