Файлы CSV извлечения от пути до нескольких файлов в ударе

Ваш sda4 раздел недопустим. Тот вывод говорит, что Ваш диск имеет 976773168 секторы, все же sda4 концы в 976784129. Это не возможно.

Решение состоит в том, чтобы воссоздать тот раздел с корректным размером. Однако это - хитрая часть. Так как это - расширенный раздел, необходимо удалить каждый раздел после него. Ни один из разделов после него на самом деле не расширяется мимо конца диска, таким образом, необходимо быть в безопасности, пока Вы воссоздаете их с тем же самым, запускают и заканчивают местоположения.

Отметьте, это все еще была бы хорошая идея создать резервную копию Ваших данных. Тем более, что вещи не находятся в "нормальном" состоянии прямо сейчас.

3
12.09.2014, 11:29
2 ответа

Здание на ответе Тердона, вот тот, который, кажется, работает:

filesall=(all files)
files=(); for file in "${filesall[@]}"; do [[ $file =~ \.csv$ ]] && files+=("$file"); done
0
27.01.2020, 21:31

Это действительно не лучший способ сделать это. Почему анализировать массив? Упрощенный подход был бы чем-то вроде:

path=/home/abc/allfiles
filesall=(${path}/*)
files=(${path}/*.csv)

Если вы настаиваете на том, чтобы сделать это своим путем, вам придется сделать что-то вроде:

files=($(for file in "${filesall[@]}"; do [[ $file =~ \.csv$ ]] && echo $file; done))

или

files=($(printf "%s\n" "${filesall[@]}" | grep '\.csv$'))

, но оба вышеуказанного разрыва, если какое-либо из ваших файлов содержит пробел. (Они могут быть предприняты для работы с пробелами, если вы предшествуете их Сохранить файлы = «$ ifs»; IfS = $ '\ n' И следуйте за ними с IFS = «$ Saveifs» , но они все еще ломаются на новую строку.)

1
27.01.2020, 21:31

Теги

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