У меня есть текстовый файл с ./. и вам нужно заменить его на 0|0.
Файл слишком велик, чтобы открыть его в Gedit и сделать это вручную.
Могу ли я сделать это с помощью sed?
sed 's_\./\._0|0_'
Пример:
$ cat test
./.
$ sed 's_\./\._0|0_' test
0|0
Добавить
-i, чтобы изменить файл на месте, а не печатать вывод на stdout, -i.b, чтобы сделать это, и сохранить резервную копию с .b в качестве расширения, а g - до конца выражение для изменения нескольких вхождений на строку, а не только первое (→ 's_\./\._0|0_g').Даже если вы попросили команду sed выполнить ваше требование, вы также можете попробовать выполнить команду ex.
ex -sc '%s/\.\/\./0|0/g|x' file
% выбрать все строки
s для замены
g заменить все экземпляры во всем мире
x записать, если сделанные изменения и выход
Пример: -
$cp file file.bak
$cat file
./.
$ex -sc '%s/\.\/\./0|0/g|x' file
$cat file
0|0
Да, вы можете сделать это с помощью sed. Вам нужно избежать . и / с помощью \.
sed -i.bak 's/\.\/\./0|0/g' file
-i.bak заставит sed редактировать файл на месте, но создает файл резервной копии с расширением .bak. [D1 ] g в конце означает «global» -> Заменяет все события.
да. В этом случае рекомендуется выбрать другой разделитель, как _, таким образом, вам не придется бежать Слэш:
sed 's_\./\._0|0_'
пример:
$ cat test
./.
$ sed 's_\./\._0|0_' test
0|0
Добавить
[F4] для того, чтобы изменить файл на месте, а не печатать в stdout, [F5], чтобы сделать так и сохранить резервную копию с .b как расширение и g в конце выражения, чтобы изменить несколько вхождений в строке, а не только первый (→нажать [F8]).Даже если вы попросили команду sed выполнить ваше требование, вы также можете попробовать выполнить команду ex.
ex -sc '%s/\.\/\./0|0/g|x' file
% выбрать все строки
s для замены
g заменить все экземпляры во всем мире
x записать, если сделанные изменения и выход
Пример: -
$cp file file.bak
$cat file
./.
$ex -sc '%s/\.\/\./0|0/g|x' file
$cat file
0|0
Да, вы можете сделать это с помощью sed. Вам нужно избежать . и / с помощью \.
sed -i.bak 's/\.\/\./0|0/g' file
-i.bak заставит sed редактировать файл на месте, но создает файл резервной копии с расширением .bak. [D1 ] g в конце означает «global» -> Заменяет все события.