Хорошо, я разрешил его. К счастью, все прекрасно, который был only
проблема с загрузочным сектором. Отказ даже перед загрузкой ядра указал на меня к MBR, таким образом, я запустил систему со своего pendrive, сохраненного для таких случаев с портативной победой, Linux и несколькими инструментами, смонтировали мои диски (первое облегчение - файловая система была прекрасна), просто chroot
редактор (посмотрите редактирование ниже) к моему регулярному корню и названный
lilo -v
и моя система жива снова. Мне очень любопытно, что могло, совершил такую странную ошибку, я уже изменил файл, упомянутый в моем вопросе, и конечно это ничего не изменяет, система запускается с моих изменений и без них. Я не коснулся ничего соединенного с загрузочным сектором или даже чем-либо во внутренностях системы, таким образом, это является очень тревожащим, я действительно предпочел бы, если бы это был мой отказ.
Была та некоторая ошибка на моем SSD? Или некоторые космические лучи? Или возможно вирус? Я не знаю, если у кого-либо есть какая-либо идея, как воспроизвести ту ошибку, я счастливо попробую ее.
Править: Как @peterph записал, "это - Good Idea (TM) для привязки - монтируются /dev
и /proc
в соответствующие места в Вашем корневом разделе прежде chrooting в него" - благодарит заметить это.
Предположим, что linenumbers.txt
имеет по одному номеру на строку
awk 'NR == FNR{a[$0]; next};FNR in a' linenumbers.txt sourcefile.csv > extractedrecords.tsv
Mould do the job.
Или, с bash
join -t':' -o2.1,2.2 <(sort linenumbers.txt) <(awk '{print NR":"$0}' \
sourcefile.csv | sort -k1,1 -t':') | sort -k1,1n -t':' | cut -f2- -d':'
Все дополнительные прыжки через обручи необходимы, потому что join
не поддерживает числовые входные файлы
Вы находитесь на правильном треке с SED: все, что вам нужно сделать, это преобразовать свой список номеров строк, за которым следует следовать p
и новой строкой, а также Используйте это как Sed Script. Например, если у вас есть список, разделенный в космос:
lines="2 3 5 7 11 13"
<sourcefile.tsv sed -n "$(echo "$lines" | sed 's/$/p/; s/ /p\n/')" >extractedrecords.tsv
awk - это другая возможность.
lines="2 3 5 7 11 13"
export lines
<sourcefile.tsv awk '" "ENVIRON["lines"]" " ~ " "NR" "' >extractedrecords.tsv