После нескольких часов борьбы я восстановил свою ОС. Я открыл свой компьютер через Live USB, затем с терминала я запускаю
sudo blkid
, чтобы проверить номер раздела моей установки, он находится в sda6
sudo mount /dev/sda6 /mnt
sudo mount --bind /dev /mnt/dev && sudo mount --bind /dev/pts /mnt/dev/pts && sudo mount --bind /proc /mnt/proc && sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
сначала я запускаю
apt-get clean
, чтобы очистить кеш
apt-get update
С момента последнего обновления borked моя система Я пробовал
dpkg --configure -a && apt-get -f install
, но не работал из-за ошибки insserv, которую я написал в своем вопросе. Я нашел причину ошибки.
Я перешел на /etc/init.d
и проверил все скрипты там, есть ли в них LSB ключевое слово раздела
, потому что причина ошибка отсутствовала LSB keyword section
like
#!/bin/sh
### BEGIN INIT INFO
# Provides:
# Required-Start:
# Required-Stop:
# Should-Start:
# Default-Start:
# Default-Stop:
# Short-Description: PowerPanel to monitor CyberPower UPS
### END INIT INFO
В старых скриптах этого раздела не было, после того как я добавил этот раздел в старые скрипты и запустил
dpkg --configure -a
, я избавился от этой чертовой ошибки.
Позже я взял список обновленных и удаленных пакетов с помощью
cat /var/log/dpkg.log |grep remove| awk ' { print $4 } ' | awk -F ':' ' { print $1 } ' | tr '\n' ' ' >listrem
cat /var/log/dpkg.log |grep upgrade| awk ' { print $4 } ' | awk -F ':' ' { print $1 } ' | tr '\n' ' ' >listupgr
, наконец, я установил удаленные пакеты с помощью
apt-get install $(grep -vE "^\s*#" listrem)
и переустановил обновленные пакеты с помощью
apt-get install --reinstall $(grep -vE "^\s*#" listupgr)
При перезагрузке
<input.txt awk -F: '$2 !~ "hello123"' >output.txt
Установите :
в качестве разделителя полей, печатайте все строки, где второй столбец не содержитhello123
Если это будет частью скрипта, может быть полезно передать переменную оболочки в awk вместе с шаблоном поиска:
var='hello123'
awk -F: -v pattern="$var" '$2 !~ pattern' input.txt > output.txt
Command
First method
sed -n -i '/^Hey:hello123$/!p' filename
output
cat filename
Hey:hello
second method
python
#!/usr/bin/python
import re
k=open('l.txt','r')
u=open('o.txt','w')
for i in k:
if "Hey:hello123" not in i:
u.write(i)
output
cat o.txt
Hey:hello
Third method
awk -F ":" '$2 != "hello123" {print $0}' filename
If you want to replace in orginal file use below method
awk -F ":" '$2 != "hello123" {print $0}' l.txt >temperory && mv temperory filename
output
Hey:hello