как заменить определенное содержимое файла первой строкой другого файла?

Узел -1 означает "любой узел". Вероятно, у вас есть только один узел. Ядро Red Hat настроено таким образом, что оно будет работать на машинах с одним узлом -, эмулируя машину NUMA только с одним узлом. Проверьте журнал загрузки (/var/log/dmesg ). у меня:

[    0.000000] No NUMA configuration found
[    0.000000] Faking a node at [mem 0x0000000000000000-0x000000023bffffff]
1
16.04.2020, 19:29
1 ответ

Вот так:

## save the first line of one.txt in the variable $string
string=$(head -n1 one.txt)
## delete the first line of one.txt
sed -i '1d' one.txt
## replace the Xs in `>>XXXXX<<` with the contents of `$string` 
## and save as the new file "$string.txt" (AAAA.txt)
sed "s/>>XXXXXXX<</>>$string<</" sample.txt > $string.txt

Обратите внимание, что это предполагает наличие только одного вхождения >>XXXXXX<<в любой строке sample.txt. Если их может быть более одного в строке, то приведенная выше команда заменит только 1-й в каждой строке. Чтобы заменить их все, используйте вместо этого:

sed "s/>>XXXXXXX<</>>$string<</g" sample.txt > $string.txt

В вашем исходном вопросе в конце каждой строки в one.txtбыли пробелы. Если это так с вашим реальным файлом, и вам нужно удалить пробелы перед добавлением в sample.txt, используйте этот:

string=$(head -n1 one.txt | sed 's/ *$//')

Затем те же команды, что и выше.

0
19.03.2021, 02:28

Теги

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