Вывод вашего терминала rfkill list
показывает следующую проблему:
Ядро GNU / Linux загружает модуль ядра acer_wmi
, даже если вы НЕ используете оборудование Acer.
Оба модуля ядра acer_wmi
и intel_wmi
работают одновременно, что вызывает конфликт и вызывает отключение беспроводного адаптера ядром acer_wmi
. модуль.
Однако вы используете адаптер Intel, а не сетевой адаптер от Acer.
Таким образом, модуль acer_wmi
необходимо занести в черный список (= предотвратить его запуск во время загрузки).
Скопируйте и вставьте следующую команду в Терминал и затем нажмите ENTER :
gksudo gedit /etc/modprobe.d/blacklist.conf
С помощью редактора gedit прокрутите вниз и ДОБАВИТЬ следующую строку конфигурации в файл /etc/modprobe.d/blacklist.conf
:
blacklist acer_wmi
Используя редактор gedit, СОХРАНИТЕ изменение в /etc/modprobe.d/blacklist .conf
файл.
Затем ПЕРЕЗАГРУЗИТЕСЬ и еще раз проверьте беспроводную связь. Эта операция с черным списком должна сделать изменение постоянным даже после перезагрузки.
Это должно заставить ядро Linux перестать загружать модуль acer_wmi
,
, что, вероятно, заставляет ядро мягко блокировать ваш беспроводной адаптер.
Интерфейс acer-wireless является недопустимым беспроводным интерфейсом на вашем компьютере , поскольку вы не используете оборудование ACER.
Ваша команда
$ sed -n "1,1p" originalFile >>splitFile
добавит идентификатор в конец splitFile
, поскольку >>
сообщает shell, чтобы добавить поток в файл. Это также очень медленно, так как sed
перед выходом обработает все 80 миллионов строк originalFile
.
После разделения у вас будет около 160 файлов с именами xaa
, xab
, xac
и т. Д. Давайте добавим к ним заголовок из исходного файла. по шагам:
head -n 1 originalFile >id_line.txt
for f in x??; do
cat id_line.txt "$f" >tmpfile && mv tmpfile "$f"
done
rm id_line.txt
Первая команда извлекает первую строку из originalFile
в свой собственный файл, id_line.txt
.
Цикл перебирает все сгенерированные файлы, предполагая, что вы использовали split
с префиксом по умолчанию и т. Д., И объединяет id_line.txt
и разделенные файлы во временный файл с именем tmpfile
. Если все пойдет хорошо, tmpfile
заменит разделенный файл.
Последняя строка удаляет id_line.txt
, который теперь выполнил свою задачу.
Вот так просто.
(head -n1 fileA.txt; cat fileB.txt) >result.tmp
Файл result.tmp будет файлом FileB со строкой FileA над его первой строкой.
Когда вы видите изменения, вы как будто хотите переместить result.tmp в fileB.txt.
В вопросе вы не указываете, какую строку файла A вы хотите вставить в файл B, поэтому я предполагаю, что вам нужна первая строка.
Предполагая, что все разделенные файлы имеют одинаковое имя, вы можете использовать. Нет необходимости в петле.
LINE_TO_INSERT=$(head -1 originalFile)
sed -i "1s/^/${LINE_TO_INSERT/\\/\\\\}\n/" segment??
Попробуйте захватить содержимое splitFile
с помощью cat
перед его перезаписью.
echo -e "$(sed -n 1,1p originalFile)\n$(cat splitFile)" > splitFile
Это легко читать, но при работе с большими файлами он может стать дорогостоящим.
Попробуйте использовать sed
$ sed -i "1i$(sed -n 1p originalFile)" splitFile
1i
Вставьте следующий текст в строку 1 файла. $ (sed -n 1p originalFile)
получить самую первую строку исходного файла