小编use*_*316的帖子

如何比较两个目录并删除重复文件

我如何在两个目录中搜索具有相同名称、大小、类型...的文件并将它们从这些目录之一中删除?

ubuntu shell-script

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

bash“模式替换”仅在某些情况下失败

为什么/将以下printf语句的行为基于...而有所不同?(GNU bash,版本 4.4.18(1)-release (x86_64-pc-linux-gnu))

printf "%s : %s : %s\n" $TERM  ${TERM//[^[:alnum:]]/_} ${TERM//[^[:alnum:]]/?}
Run Code Online (Sandbox Code Playgroud)

在 中的非特权用户终端会话中tmux,输出为:

screen-256color : screen_256color : screen?256color
Run Code Online (Sandbox Code Playgroud)

但是,在root终端中,对于同一个tmux会话,输出为:

xterm-256color : xterm_256color :
Run Code Online (Sandbox Code Playgroud)

在 之外tmux,所有用户的输出都是相同的失败:

xterm-256color : xterm_256color :
Run Code Online (Sandbox Code Playgroud)

附加信息:

我只是尝试了相同的命令行,但是用星号替换了问号,并且出现了相同的失败和成功。这可能是与通配以某种方式相关的问题吗?该字段应该被视为字符串值,而不是 glob。然后我尝试转义字符并得到以下结果,对于 asterisk plain 的六种情况,带有一个反斜杠,和两个反斜杠,对于上面提到的xterm-256colorscreen-256-color情况:

printf "%s : %s : %s\n" $TERM  ${TERM//[^[:alnum:]]/_} ${TERM//[^[:alnum:]]/*}

screen-256color : screen_256color : screen*256color
xterm-256color : xterm_256color :

printf "%s : %s : %s\n" $TERM  ${TERM//[^[:alnum:]]/_} ${TERM//[^[:alnum:]]/\*}

screen-256color : …
Run Code Online (Sandbox Code Playgroud)

bash string quoting

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

csh shell 的高级别名

我想为该nedit命令创建一个别名,但能够.txt自动向传递的参数添加别名。例如,当我输入n newfile --> 它应该执行 --> nedit newfile.txt

换句话说,“ n (file_name) ”应该自动给我file_name.txt

目前,我正在使用别名 n "nedit"

请告诉我这是否可以在 CSH shell 中完成。

linux shell-script csh

0
推荐指数
1
解决办法
740
查看次数

标签 统计

shell-script ×2

bash ×1

csh ×1

linux ×1

quoting ×1

string ×1

ubuntu ×1