小编use*_*038的帖子

如何使用`mv`强制覆盖非空目录

我想将一组文件/目录移动(不仅仅是复制)到不同的目录,其中一些与目标目录中的文件/目录有名称冲突。我的主要目标是移动文件,所以我可以容忍非空目录被覆盖。

mv ... destination然而,我目前正在使用,偶尔我会得到

mv:无法将“目标”移动到 /destination/target':目录不为空

我尝试mv -f ... destination没有成功,因为我希望文件从它们的原始位置消失,rsync这似乎不合适。

作为奖励,是否有一个很好的解决方案来保留打算通过重命名以某种方式覆盖的文件?

rsync rename files

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

如何阻止`grep`截断管道输出

有没有办法echo在管道的末尾简单地附加到当前输出而不是将其全部删除?例如,我如何保留我cat和的输出grep并将“END OF OUTPUT”添加到同一管道的输出末尾:

$ cat file.txt | grep 'foo' | echo "END OF OUTPUT"
something foo 
foo
foo something
END OF OUTPUT
Run Code Online (Sandbox Code Playgroud)

类似于如何cat -工作:

echo "START OF OUTPUT" | cat - file.txt
Run Code Online (Sandbox Code Playgroud)

bash pipe echo

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

从查找结果中省略目标目录

如何防止find返回我用作根目录以在结果中开始搜索的目录?例如:

$ find targetDir -name 'target*'
targetDir/target1
targetDir/target2
targetDir/subDir/target3
Run Code Online (Sandbox Code Playgroud)

代替:

$ find targetDir -name 'target*'
targetDir
targetDir/target1
targetDir/target2
targetDir/subDir/target3
Run Code Online (Sandbox Code Playgroud)

find

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

找不到隐藏文件或递归到隐藏目录的递归查找

我想通过目录递归搜索并找到所有不是隐藏文件本身并且不在隐藏目录中的文件。我尝试使用find . -type f -not -name '.*'which 排除任何基本名称隐藏文件,但它仍然递归到隐藏目录中。

dir/
   file.py
   .hidden_file
   .hidden_dir/
      file.c
Run Code Online (Sandbox Code Playgroud)

我希望输出是:

./dir/file.py
Run Code Online (Sandbox Code Playgroud)

但是,我得到:

./dir/file.py
./dir/.hidden_dir/file.c
Run Code Online (Sandbox Code Playgroud)

编辑:我只想列出文件,即, -type f

bash find

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

在同一个参数上运行两个命令

我可能想为命令添加别名,以便该命令照常运行,但在执行之前还对参数执行其他操作。一个例子可能是:

alias ls="echo displaying contents of $@; ls $@"
Run Code Online (Sandbox Code Playgroud)

只是一个假设,但本质上我想运行一个命令(在本例中为 ls )并在标准ls发生之前设置一个静态命令来运行它。

一个函数,如:

function ls() {
echo "printing $1"
ls $1
}
Run Code Online (Sandbox Code Playgroud)

似乎不合适,因为我必须处理相关命令上使用的开关/选项,即重新创建整个命令。

附注。我想使用原始命令,它通常如何使用,只需使用别名或 rc 之类的东西(即我可以永久附加的东西)以上述方式向它添加功能

shell bash shell-script

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

标签 统计

bash ×3

find ×2

echo ×1

files ×1

pipe ×1

rename ×1

rsync ×1

shell ×1

shell-script ×1