例如,我想将一些文件名放在大括号内进行扩展,如下所示:
$ 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) FreeBSD 是一个操作系统。Linux,严格来说只是一个内核,但是两个系统并没有太大的不同,至少在性能上可以说是不相上下的。
开源软件可跨两个平台运行,因此不存在跨平台问题。
对专业服务支持的依赖不会太高,因为 Web 应用程序可以从社区获得帮助。
这种趋势是如何发展的?FreeBSD 最佳实践?有没有成功案例?
我有一个目录包含要在 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)
这不起作用。我找不到任何其他解决方案或想法。这可能吗?如果可以,怎么做?
我想了解以下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) 我正在尝试获取我的程序完成所需的时间(又名经过时间),因此我使用了常见的time.
这样做我得到的是 3 个度量:用户、系统和总数。这很好,但我发现我感兴趣的用户时间只有两位小数,我需要更多。有什么办法可以从我的时间命令中获得更多小数位吗?
示例:time ./myCProgram
输出:0.17s 用户 1.21s 系统 130% cpu 0.187 总计
想要的输出:0.17000s 用户 1.21s 系统 130% cpu 0.187 总计(或更多小数位)
% 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 命令,以便获取复杂目录结构中的所有文件。通过复杂的目录结构,我的意思是有一个包含超过 150 个子文件夹的根文件夹,每个子文件夹至少有 3 个子文件夹。
我所需要的只是删除文本文件中偶数行的sedorawk代码。没什么特别的,我只需要删除文本文件偶数行上的不相关数据。
[root@server ~]# bash << eof
> cat adsfasdf
> echo $?
> eof
cat: adsfasdf: No such file or directory
0
Run Code Online (Sandbox Code Playgroud)
谁能解释为什么它返回退出状态 0 而不是 1?
我想从以下字符串的最后一部分中提取第二个字段:
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)
任何帮助将不胜感激。