Bash-скрипт для перебора файлов

Случаи, когда вы действительно видите изменение размера, вероятно, связаны с telnet или ssh-соединениями, где поддерживается NAWS (согласование размера окна: RFC-1073 ).

Последовательное соединение этого не делает. Это прямая связь. В качестве обходного пути вы можете запустить программу resize , например this :

resize

Дополнительная литература:

1
13.05.2015, 13:29
2 ответа

Использование find и sed :

#!/bin/bash
find /home/directory/* -type f -name '*.gz' \
-not -name '*mask*' | while IFS= read -r file; do

    mask="$(sed 's/^\([^.]*\)/\1-mask/' <<<"$file")"

done

Учтите, что любое имя каталога не содержит строку mask .

1
29.04.2021, 00:28

В [[ ... ]] правая часть == может быть шаблоном:

for file in /home/directory/* ; do
    if [[ $file != *-mask.nii.gz ]] ; then
        filename=${file##*/}
        mask=${filename%.nii.gz}-mask.nii.gz
        echo "$filename" "$mask"
    fi
done
2
29.04.2021, 00:28

Теги

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