0

How to take the maximum digits file linked with the folder using perl?

    my $location = $output_dir;
    print $location;
    open LOGFILE, $location;
    my $first_line = 1;
    #print $first_line;
    my $max_id;
    while (<LOGFILE>) {
        if (/rev_(\d)+/) {
            if ($first_line) {
                $first_line = 0;
                $max_id = $1;

            } else {
                $max_id = $1 if ($1 > $max_id);
                print $max_id;
            }
        }
    }

    close LOGFILE;

Obtained output:

 |-- USB_FS
    |   |-- Database
    |   |   |-- rev1
    |   |   |   |-- slater_ams_USB_FS_Database_rev1_.config
    |   |   |   `-- slater_ams_USB_FS_Database_rev1_.html
    |   |   |-- rev2
    |   |   |   |-- slater_ams_USB_FS_Database_rev2_.config
    |   |   |   `-- slater_ams_USB_FS_Database_rev2_.html
    |   |   |-- rev3
    |   |   |   |-- slater_ams_USB_FS_Database_rev3_.config
    |   |   |   `-- slater_ams_USB_FS_Database_rev3_.html
    |   |   |-- slater_ams_USB_FS_Database_.config
    |   |   `-- slater_ams_USB_FS_Database_.html

Expected output:

    |-- USB_FS
    |   |-- Database
    |   |   |-- rev3
    |   |   |   |-- slater_ams_USB_FS_Database_rev3_.config
    |   |   |   `-- slater_ams_USB_FS_Database_rev3_.html
    |   |   |-- slater_ams_USB_FS_Database_.config
    |   |   `-- slater_ams_USB_FS_Database_.html
2
Contributors
2
Replies
29
Views
7 Months
Discussion Span
Last Post by find_1
0

After your main loop possibly just do another loop to go from 1 - $max_id and tar up then rm -rf each lower numbered directory?

Maybe I'm missing something but it seems like you're 99% there.

Make sure you make a complete backup of your directory before testing anything that deletes files. Make sure the tar files contain the files you think they do. Make sure the right directories are deleted.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.