Конечная копия терминала Ubuntu N номера из одного файла в другой

Мой ноутбук: Sony Vaio VPCCB B3M1E

В моем случае я просто сделал это:

sudo gedit /etc/rc.local

Добавил следующую строку выше exit 0

echo OFF> / sys / kernel / debug / vgaswitcheroo / switch

И он решил проблему.

1
задан 6 October 2013 в 21:56

2 ответа

вы не должны полагаться на порядок строк в файле, потому что он может измениться (если это системный файл, файл temp ecc. и он обновлен). Вы можете использовать grep или один из его вариантов, например rgrep:

rgrep WordOrRegularExpressionToMatch "Name_of_the_file"

Затем, когда вы увидите, что принтер линий прав, вы можете использовать:

rgrep WordOrRegularExpressionToMatch "Name_of_the_file" >> "Name_of_the_second_file"

Это будет не строки, напечатанные rgrep ко второму файлу; для перезаписывания используйте «>», а не «>>». Если вы действительно хотите извлечь точный набор строк, вы можете использовать «sed»:

sed -n -e 7,9p -e 17,18p "Name_of_the_file"

(эти являются 2 отдельными интервалами)

Итак ...

sed -n -e 7,9p -e 17,18p "Name_of_the_file" > "Another_file_to_overwrite"

( извлекает точный набор строк > Скопируйте и вставьте строку: это будет сделайте эту работу. :-) «man sed» даст вам больше помощи. Хороший день!

0
ответ дан 24 May 2018 в 17:12

Если вы знаете, сколько строк в вашем исходном файле (wc -l), вы можете сделать это .. предположите 12000 строк, и вы хотите, чтобы строки 2000-7000 в вашем новом файле (всего 5000 строк). [!d0 ]

cat myfile | tail -10000 | head -5000 > newfile

Прочитайте последние 10k строк, затем прочитайте первые 5k строк.

-2
ответ дан 24 May 2018 в 17:12
  • 1
    Большое спасибо за вашу помощь !!! Это очень интересный подход, спасибо. – yyyzzz 6 October 2013 в 22:13
  • 2
    Вы могли бы по крайней мере опубликовать ссылку на исходный ответ: stackoverflow.com/questions/9259658/… .. или сделать приличную вещь и ответить на нее без использования копии / вставки. – FreudianSlip 6 October 2013 в 22:42

Другие вопросы по тегам:

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