1

После обновления моей Mac OS некоторые предыдущие команды sed не работают для меня:

GMC03-calculations $echo $line_no 
849
GMC03-calculations $cat corr.in
269 # number of clusters
845 # number of configurations
clusters 
...
...

Я хотел бы заменить 845 (это не константа) на $line_no (в данном случае 849)

GMC03-calculations $sed -i '' 's/^[.0-9]* # number of configurations$/'"$line_no"' # number of configurations/' corr.in
sed: can't read s/^[.0-9]* # number of configurations$/849 # number of configurations/: No such file or directory

следующая команда работает раньше, но не сейчас .... очень странно ... Я установил Sed с помощью домашнего варки ..... г

MC03-calculations $brew install sed
Error: No available formula with the name "sed" 
==> Searching for similarly named formulae...
These similarly named formulae were found:
gnu-sed ✔                                       libxdg-basedir                                  minised                                         ssed                                          
To install one of them, run (for example):
  brew install gnu-sed ✔
==> Searching taps...
These formulae were found in taps:
Caskroom/cask/focused                 Caskroom/cask/licensed                Caskroom/cask/marsedit                Caskroom/cask/physicseditor           Caskroom/cask/subclassed-mnemosyne  
To install one of them, run (for example):
  brew install Caskroom/cask/focused

Есть идеи, что может происходить? Спасибо.

1 ответ1

1

Я решил это! Удаляя '' после -i :

sed -i '' 's/^[.0-9]* # number of configurations$/'"$line_no"' # number of configurations/' corr.in

Вот так все снова работает:

sed -i 's/^[.0-9]* # number of configurations$/'"$line_no"' # number of configurations/' corr.in

Кажется, все работает идеально

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .