Добавить набор команд в начало файлов умножения

Мне нужно написать скрипт для замены части файла на другую. Я обрабатываю сотни файлов.

У меня есть список команд, которые нужно добавить в кучу текстовых файлов. Но в файлах у меня в начале есть общие команды.

Я просто хочу заменить список команд своим списком команд. Дополнительная информация приведена ниже.

Исходный файл

%apj=E:\Work\Informatin\Regarding work\DND.apj
%mem=4GB
%nprocshared=2
#p oyu opsd qtnv/1-a(x) kglgg=uioewr

Application 

0 1
 X                 -3.66480600    0.10278400   -0.00655500
 Y                 -4.11487100    1.45621700   -0.05226200
 Z                 -5.10300200    1.90042600    0.83864800

 1 2 1.0 13 1.0 23 1.0
 2 3 1.5 4 1.5
 3 5 1.5 6 1.0
 4 7 1.5 8 1.0

Символы, которые я хочу использовать для замены

%apj=D:\Store\Data\Diff All\SMC.apj
%mem=800MB
%nprocshared=4
#p udf AMER hbvn/3-b(n) huggh=whea

Use

0 1
 X                 -3.66480600    0.10278400   -0.00655500
 Y                 -4.11487100    1.45621700   -0.05226200
 Z                 -5.10300200    1.90042600    0.83864800

После замены моим списком команд я также хочу удалить символы, которые находятся после пустой строки, то есть следующих строк, и оставить пустое пространство.

1 2 1.0 13 1.0 23 1.0
2 3 1.5 4 1.5
3 5 1.5 6 1.0
4 7 1.5 8 1.0
0
17.11.2018, 22:27
1 ответ

Думаю, это то, что вам нужно:

sed '1,6d
7c%apj=D:\Store\Data\Diff All\SMC.apj\
%mem=800MB\
%nprocshared=4\
#p udf AMER hbvn/3-b(n) huggh=whea\
\
Use\

/^$/q' filename

Вместо замены построчно первые шесть строк удаляются (1,6d), а седьмая заменяется новым заголовком, вставляемым с помощью команды c. Наконец, обработка останавливается на следующей пустой строке.

Если это дает ожидаемый результат, добавьте опцию -iдля выполнения замены непосредственно в файле (GNU sed, адаптируйте для версии BSD ).

0
28.01.2020, 04:49

Теги

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