Похоже на неисправный диск. Я бы порекомендовал проверить значения SMART диска, запустив sudo smartctl -a /dev/sdX
.
Если накопитель исправен, возможно, накопитель перешел в режим пониженного энергопотребления. Если это произойдет снова, вы можете попытаться сделать управление питанием менее агрессивным, запустив sudo hdparm -B 127 /dev/sdX
. Для получения дополнительной информации об этом обратитесь к справочной странице hdparm
.
Это должно быть легко проверить:
$ cat file
1
2
3
3
4
4
$ uniq file
1
2
3
4
$ uniq -u file
1
2
Короче говоря, uniq
без опций удаляет все экземпляры последовательно дублирующихся строк, кроме одного. Руководство GNU uniq
формулирует это как
With no options, matching lines are merged to the first occurrence.
, тогда как POSIX говорит
[...] write one copy of each input line on the output. The second and succeeding copies of repeated adjacent input lines shall not be written.
С опцией -u
он удаляет все экземпляры последовательно дублированных строк и оставляет только те строки, которые никогда не дублировались. В руководстве GNU uniq
говорится
only print unique lines
и POSIX говорит
Suppress the writing of lines that are repeated in the input.
Принимая во внимание комментарий оригинального постера к принятому ответу, я считаю, что другой пример может быть полезен для иллюстрации разницы и смысла команд.
Допустим, у нас есть некоторая часть текста, в которой строки разделены дублирующими пустыми строками по какой-то причине и с одной пустой строкой в начале и в конце:
$ cat declaration_quote.txt
We hold these truths to be self-evident, that all men are created equal, that
they are endowed by their Creator with certain unalienable Rights, that among
these are Life, Liberty and the pursuit of Happiness.
Если вы решите, что одной пустой строки достаточно, вы можете использовать uniq
, чтобы получить
Это не «все только один раз », а скорее «один раз из каждой непрерывной группы », потому что вы получите отдельную пустую строку из каждой группы пустых строк. Это уже не раз. Кроме того, пустые строки в начале и в конце остаются, потому что нет пустых строк непосредственно выше или ниже.
$ uniq declaration_quote.txt
We hold these truths to be self-evident, that all men are created equal, that
they are endowed by their Creator with certain unalienable Rights, that among
these are Life, Liberty and the pursuit of Happiness.
Если вы решите, что вам вообще не нужен такой двойной интервал, вы можете использовать uniq -u
для получения только каждой строки, которая не повторяется непосредственно в строках выше или ниже. Но это все еще не "только то, что появляется один раз ", потому что оно не удалит одиночные пустые строки (в начале и в конце ), даже если есть много других пустых строк в текст. Это скорее «только то, что не повторяется сразу ».
$ uniq -u declaration_quote.txt
We hold these truths to be self-evident, that all men are created equal, that
they are endowed by their Creator with certain unalienable Rights, that among
these are Life, Liberty and the pursuit of Happiness.