linux cmd удалить все файлы без разрешений

Вот не -изящное awkрешение:

{
    split($3, a, "|")
    split($4, b, "|")
    if (a[2] > b[2]){
        $3=b[1]"|"b[2]
        $4=a[1]"|"a[2]
    }
    split(arr[$3" "$4], c, " ")
    if ($8 > c[8]){
        arr[$3" "$4] = $0
    }
}
END{
    for (item in arr){
        print(arr[item])
    }
}

Выполнить с

awk -f script.awk input

Он не сохраняет интервал, и порядок является случайным.

0
16.10.2020, 02:45
1 ответ

Если вы просто хотите удалить все разрешения для файлов, кроме разрешений владельца, вы можете просто:

chmod go-rwx <list_of_filenames>

Это приведет к удалению разрешений на чтение, запись и выполнение для группы и других пользователей, независимо от того, имеют ли файлы уже эти разрешения или нет.

0
18.03.2021, 22:57

Теги

Похожие вопросы