相关疑难解决方法(0)

为什么循环查找的输出是不好的做法?

这个问题的灵感来自

为什么使用 shell 循环处理文本被认为是不好的做法?

我看到这些结构

for file in `find . -type f -name ...`; do smth with ${file}; done
Run Code Online (Sandbox Code Playgroud)

和

for dir in $(find . -type d -name ...); do smth with ${dir}; done
Run Code Online (Sandbox Code Playgroud)

几乎每天都在这里使用,即使有些人花时间对这些帖子发表评论,解释为什么应该避免这种东西......
看到此类帖子的数量(以及有时这些评论被简单地忽略的事实)我想我还不如问一个问题:

为什么循环find的输出是不好的做法,为 返回的每个文件名/路径运行一个或多个命令的正确方法是find什么?

find filenames files for

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

ls _not_ 符号链接的所有内容

有ls没有办法显示否定条件,例如“所有不是符号链接的文件”?我在项目目录中经常使用后者,但其他否定也很有用。

目前,我的研究仅导致为“like”创建一个别名:

find . -maxdepth 1 ! -type l | sort # (...)
Run Code Online (Sandbox Code Playgroud)

但显然这种方式我没有得到 的着色ls,列格式等......

我有时使用 OS X 10.8.2 上的 Bash v3 和穿山甲上的 Bash v4。

ls bash symlink

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

如何着色`ls`文件列表中的隐藏文件?

LS_COLORS环境变量允许您为 GNU coreutil 的ls命令决定不同文件类型的颜色,例如目录、常规文件、链接等。我想点文件被认为是 Linux 文件类型的变体,而不是它自己的类型,因此有没有为它们指定显示颜色的选项。

是否有任何(其他)方法可以使ls列表以不同颜色显示隐藏文件?

ls colors filenames

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

为目录后缀微调 LS_COLORS?

我可以在LS_COLORS. 我不需要帮助自定义不同文件后缀的颜色。我想做的是根据它们的后缀为某些目录配置特殊颜色。

(例如,我想dir1/以标准目录颜色dir2.special-suffix/显示,但要以不同颜色显示,我为名称以.special-suffix.结尾的目录设置了这种颜色。)

我尝试使用标准*.«suffix»方法(与文件一起使用)来做到这一点,但没有运气。所有目录都以为 指定的颜色显示di,并忽略任何后续*.«suffix»规则。

这甚至可能吗?

ls shell colors directory

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

一次创建多个子目录

假设我有一个目录/,它包含许多目录/mydir、/hisdir、/herdir,并且每个目录都需要具有相似的结构。

对于 中的每个目录/,都需要一个目录doc和一个文件doc1.txt。

人们可能天真地认为他们可以执行

mkdir */doc
touch */doc/doc1.txt
Run Code Online (Sandbox Code Playgroud)

但它们是错误的,因为通配符不是这样工作的。

有没有办法做到这一点,而无需在示例中制作一次结构然后将cp其传递给其他人?

而且,如果没有,有没有办法在不覆盖任何现有文件的情况下执行上述解决方法(假设mydir已经包含具有我想保留的一些数据的结构)?

编辑:如果可能,我也想避免使用脚本。

command-line bash wildcards touch mkdir

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

标签 统计

ls ×3

bash ×2

colors ×2

filenames ×2

command-line ×1

directory ×1

files ×1

find ×1

for ×1

mkdir ×1

shell ×1

symlink ×1

touch ×1

wildcards ×1