我猜在大多数情况下,在提取 tar 存档时,我们会得到一个与存档文件同名但后缀不同的目录。但是在一些不幸的情况下,正如我今天遇到的那样,在解压缩 tarball 后,我发现工作目录中散布着很多文件,这很麻烦。
所以我想向您学习的是 - 我如何移动那些新创建的文件?我知道那里应该有一些“查找加rm”奇特的方法,但我不知道具体如何。
我正在使用以下命令来计算 JAVA 文件中的文本行数:
find . -name '*.java' | xargs wc -l
Run Code Online (Sandbox Code Playgroud)
如何修改find命令参数以匹配多个文件扩展名?例如,我想对 CPP、C 和 H 文件使用上述操作。
我发现了一个叫做使用 Find/Grep 在一天中的特定时间之间搜索文件的 SO
基于它和一个名为Grep 命令的 Unix SE来查找包含文本字符串的文件并移动它们,我最终得到:
find . -type f -mtime -20 | grep -v -e " \(0[012345]\|18\|19\|2[0123]\)" | xargs mv -t daytime/
Run Code Online (Sandbox Code Playgroud)
但它正在移动所有文件。我使用 Ubuntu 有什么不同吗?
我想要做的就是将上午 6 点到下午 6 点之间的所有文件移动到另一个目录。任何建议,将不胜感激。
当我使用grepor 时find,我总是对“权限被拒绝”和“没有这样的文件或目录”通知感到恼火,如下所示:
johndoe@johndoe-desktop:/$ grep -rnP 'YII_CORE_PATH' ./ | grep -v .svn
grep: ./lib/ufw/user6.rules: Permission denied
grep: ./lib/ufw/user.rules: Permission denied
grep: ./lib/init/rw/udev/watch/27: No such file or directory
grep: ./lib/init/rw/udev/watch/26: No such file or directory
grep: ./lib/init/rw/udev/watch/25: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我怎样才能避免它们并使它只看到相关数据,即我真正在寻找的东西?
我想删除所有包含字符串的文件foo。如何在 Linux 中使用 bash 执行此操作?
我想在按时间戳(创建时间)排序的子目录中查找文件,最近的在最前面。
我看过手册页,但它似乎只让你按时间戳过滤而不是按时间戳排序。
我可以通过哪些选项find来实现这一目标?或者,我如何将它与其他工具结合使用,比如sort按时间戳排序?
在文档中,我看到了两种用法:
find . -type f -exec file '{}' \;
find repo/ -exec test -d {}/.svn -o -d {}/.git -o -d {}/CVS ; \
Run Code Online (Sandbox Code Playgroud) 我有一个目录,里面有 10144911 个文件。到目前为止,我已经尝试了以下方法:
for f in ls; do sed -i -e 's/blah/blee/g' $f; done撞毁了我的外壳,ls它在一个 tilda 中,但我不知道如何制作一个。
ls | xargs -0 sed -i -e 's/blah/blee/g' 太多的参数 sed
find . -name "*.txt" -exec sed -i -e 's/blah/blee/g' {} \; 不能再分叉没有更多的记忆
关于如何创建这种命令的任何其他想法?这些文件不需要相互通信。ls | wc -l似乎工作(非常慢)所以它必须是可能的。
我正在尝试使用以下命令查找目录:
find /users/dan/ -name 'Prams' -type d
Run Code Online (Sandbox Code Playgroud)
我看到大量的“没有这样的文件或目录”输出。如果找不到任何东西,有没有办法让find闭嘴?
从终端执行 find 命令时,我希望获得仅包含文件名的列表(不包含其余路径)。我如何在 mac 上完成此操作?