SuperUser有一个答案,它重命名包含空格的文件名:
for f in *\ *; do mv "$f" "${f// /_}"; done
我不明白的部分是*\ *
。
作者写道:
*\ *
选择所有名称中包含空格的文件作为 for 循环的输入。模式X选择所有名称中包含 X 的文件,对于特殊字符空格,我们必须使用斜杠进行转义,这样 Bash 就不会将其视为分隔不同参数的字符。
既然*
不匹配空格,为什么*\ *
当文件中只有一个空格时也会匹配具有多个空格字符的文件?
我知道最近访问的文件会被缓存到 RAM 中,但是是否有用于频繁执行的命令的缓存?
例如,如果我运行cat file.txt
多次,file.txt
则会在第一个命令后缓存。
ps aux
多次,第一个命令的输出会被缓存在某处吗?git log
?阅读完这个相关问题后,我认为正确的术语是memoization。