小编Owe*_*gan的帖子

BASH - 仅打印路径中最深的目录

我需要一些帮助.....

在我的.bashrc文件中,我有一个非常有用的功能(它可能有点粗糙和准备,有点hacky,但它有效!)它读取输入文件,并在每个上使用'tree'函数输入行来创建目录树.然后将此树打印到输出文件(以及文件夹的大小)中.

multitree()
{
    while read cheese
    do
        pushd . > /dev/null
        pushd $cheese > /dev/null
        echo -e "$cheese \n\n" >> ~/Desktop/$2.txt
        tree -idf . >> ~/Desktop/$2.txt
        echo -e "\n\n\n" >> ~/Desktop/$2.txt
        du -sh --si >> ~/Desktop/$2.txt
        echo -e "\n\n\n\n\n\n\n" >> ~/Desktop/$2.txt
        popd > /dev/null
    done < $1
        cat ~/done
}
Run Code Online (Sandbox Code Playgroud)

这可以节省时间,并输出如下所示的代码段:

./foo
./foo/bar
./foo/bar/1
./foo/bar/1/2
Run Code Online (Sandbox Code Playgroud)

等等....

然而,我需要做的第一个(也是最繁琐的)是删除所有条目,只留下最深的文件夹路径(使用上面的例子,它将简化为./foo/bar/1/2)

有没有办法在树函数之前/之后处理文件只打印最深层次?

我知道像python这样的东西可能做得更好,但我的问题是我从未使用过python我不确定工作系统会让我运行python ......他们让我们修改自己的.bashrc所以我是不要太担心!

先谢谢你们!!!!

欧文.

linux bash tree

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

使用RSync复制连续范围的文件

对不起,如果这没有意义,但我会尝试提供所需的所有信息!

我想使用rsync将一系列顺序编号的文件从一个文件夹复制到另一个文件夹.

我正在归档DCDM(它是一个电影的东西),它包含600,000个单独编号的顺序.tif图像文件(~10mb ea.).

我需要打破这一点才能正确存档到LTO6磁带上.我想使用rsync来准备文件夹,这样我的简单bash .sh文件就可以自动化我要备份到磁带的各种文件夹和文件.

我在运行rsync时通常使用的命令是:

sudo rsync -rvhW --progress --size only <src> <dest>
Run Code Online (Sandbox Code Playgroud)

sudo如果需要我使用,我总是首先测试结果--dry-run

我有任何工作(没有踢出错误)的唯一方法是使用*通配符.然而,这不仅会与设定的模式(例如,文件01*将只从范围内移动文件010000 - 019999),我不得不重复了02,03,04等.

我已经在网上看了,我正在努力找到一个有效的答案.

这可能是不可能的,并且对于600,000个.tif文件,我不能为每个文件写一个排除!

有关如何(如果有的话)这样做的任何想法?

欧文.

linux bash ubuntu rsync

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

标签 统计

bash ×2

linux ×2

rsync ×1

tree ×1

ubuntu ×1