Следующее должно работать,
space
является , необязательным , sed -r 's/OPTIONS="[[:space:]]?"/OPTIONS="-4"/g'
space
равно , по крайней мере один или несколько , sed -r 's/OPTIONS="[[:space:]]+"/OPTIONS="-4"/g'
Или обе возможности [Как упомянул @AdminBee],
space
равно , по крайней мере один или несколько или необязательны , sed -r 's/OPTIONS="[[:space:]]*"/OPTIONS="-4"/g'
Например,
[arif@arif]$ printf '# Command-line options for chronyd\nOPTIONS=" "\n'
# Command-line options for chronyd
OPTIONS=" "
[arif@arif]$ printf '# Command-line options for chronyd\nOPTIONS=" "\n' | sed -r 's/OPTIONS="[[:space:]]"/OPTIONS="-4"/g'
# Command-line options for chronyd
OPTIONS="-4"
Я предполагаю, что у вас нет резервных копий, и поскольку это ext4, у вас также не будет снэпшотов. Это будет чрезвычайно сложно...
«К счастью», используя rm
, вы на самом деле не удаляете данные, как при «перезаписи с помощью 0 -бит», а вместо этого просто сообщаете файловой системе, что этих файлов больше не существует, и это пространство можно использовать повторно..
Лучшее, что у вас сейчас есть, это немедленное завершение работы системы, предпочтительно принудительное завершение работы, чтобы ничто не касалось файловой системы.
На этапе восстановления :Для этого существует несколько методов/программ, взгляните на debugfs
и extundelete
для начала. Вам понадобится удача и время, чтобы восстановить файлы, и, скорее всего, вы восстановите только некоторые из них.
Кроме того, убедитесь, что вы сделали побитовую -на -битовую копию диска в другое место, прежде чем пытаться восстановить данные на нем. Вы можете сделать это с помощью dd
.