Удалите и замените между двумя определенными строками с помощью sed команду

[

] В bash (и, возможно, в других оболочках) вы можете запрограммировать PID последнего фонового процесса, используя переменную оболочки [] $![], т.е. должно быть возможно сделать что-то вроде [

] [

dd if=/path/of/file of=/path/of/destination & pidstat -p $!

] [

] См. [] этот похожий вопрос из askubuntu[][

]

1
12.09.2019, 09:39
1 ответ

Когда вы выполняете LS -R, вы получаете как вывод названий каталогов в листинге.

-121--244107-

Консоль не подключен к stdin процесса .

Похоже, такая же проблема, как видно в rc.local с чтением не будет эхо-ключа .

Предлагаемый ответ есть добавить Plymouth Quit перед попыткой ввода консоли.

В качестве альтернативы может быть возможно организовать для себя Plymouth для отображения вашего предупреждения; Что-то вроде

 plymouth pause-progress 
 plymouth message --text="Your system will be hosed.  Is that what you want?  What you really, really want? [yn]" 
 plymouth watch-keystroke --keys="YyNn " --command="tee /tmp/key_pressed"
 case $(cat /tmp/key_pressed) in
     [nN])
         poweroff;          # abort!
         ;;
 esac
 plymouth message --text="Okay, you asked for this" 
 plymouth unpause-progress

предостерегайтесь: я не эксперт Plymouth, и не пробовал выше.

-121--157563-
sed '/[Cc][aA][sS][eE] [wW][Hh][Ee][Nn]/{
      :1
      /[eE][nN][dD] [aA][sS]/!{
        N;b1
      }
      s/[Cc][aA][sS][eE] [wW][Hh][Ee][Nn] \([^ ]*\).*[eE][nN][dD]\( [aA][sS]\)/\1\2/
    }'

с GNU SED (который вы, кажется, используете), которые могут быть упрощены в:

sed -E '/case when/I{
          :1
          /end as/I!{
            N;b1
          }
          s/case when ([^ ]*).*end( as)/\1\2/I
         }'

(это предполагает не более одного Case Заявление на одной строке).

Это было бы намного проще с Perl :

perl: perl -0777 -pe 's/case when (\w+) in.*?end as /$1 as /gis'

(обратите внимание, что эта команда распадается весь вход в память, которая может быть заботой о огромных файлах).

2
27.01.2020, 23:37

Теги

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