rhel + efsck + удаленный inode xxxxx имеет нулевое время dtime

Следующий сценарий должен выполнить то, что вам нужно:

#!/usr/local/bin/bash

input=./input
row=0
while read -r line; do
    columns=( $line )
    ((row++))
    max=0
    min=${#line}
    vmax=
    vmin=
    for column in "${columns[@]}"; do
        ((${#column}>max)) && max=${#column} && vmax=$column
        ((${#column}<min)) && min=${#column} && vmin=$column
    done
    echo "Row${row}: Min $min max $max $vmin $vmax"
done<"$input"

Учитывая этот ввод:

field0      field1     field2    field3   field4  field5  field6   field7    field8     field9
a           aa         aaa       aaaa     aaaaa   aaaaaa  aaaaaaa  aaaaaaaa  aaaaaaaaa  aaaaaaaaaa
bbbbbbbbbb  bbbbbbbbb  bbbbbbbb  bbbbbbb  bbbbbb  bbbbb   bbbb     bbb       bb         b

Будет получен этот результат:

$./script.sh
Row1: Min 6 max 6 field0 field0
Row2: Min 1 max 10 a aaaaaaaaaa
Row3: Min 1 max 10 b bbbbbbbbbb

Примечание. :Если в строке есть несколько полей одинаковой длины, которые в конечном итоге являются строкой минимальной/максимальной длины, будет выведено первое поле этой длины. (В примере строка ввода1 имеет все поля одинаковой длины, поэтому поле0 указано как минимальное, так и максимальное ).

0
27.07.2020, 17:29
1 ответ

Можно позволить fsckэто исправить, это относится к удаленному иноду — данные уже удалены, больше ничего удаляться не будет.

4
18.03.2021, 23:16

Теги

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