Поиск и замена строки после специального символа с помощью sed

С sed, echoиtr:

$ se () { echo -n "$1 "; sed -n 's/\s*r('"$2"').*|r| =\s\+//p' DEMLIR-GEO_OPT-1-distance-1.coordLog | tr '\n' ' '; echo; }
$ se 0 1,5; se 1 2,5; se 2 2,8
0 1.869679 1.869821 1.869881
1 1.530989 1.531483 1.531900
2 1.849134 1.849626 1.849678

# using a for-loop
cnt=0; for i in 1,5 2,5 2,8; do se $((cnt++)) $i; done

Чтобы записать вывод в файл, вы можете использовать

{ se 0 1,5; se 1 2,5; se 2 2,8; } > DEMLIR_task.txt

Если это был неправильный порядок, вы можете использовать этот фрагмент, используя sed, pasteи printf:

.
$ se () { sed -n 's/\s*r('"$1"').*|r| =\s\+//p' DEMLIR-GEO_OPT-1-distance-1.coordLog; }
$ paste -d' ' <(printf '%s\n' 0 1 2) <(se 1,5) <(se 2,5) <(se 2,8)
0 1.869679 1.530989 1.849134
1 1.869821 1.531483 1.849626
2 1.869881 1.531900 1.849678

# using a for-loop and temp files, first column starts with 1 instead of 0
rm -f tmp.*; cnt=0; for i in 1,5 2,5 2,8; do se $i > tmp.$((cnt++)); done; paste -d ' ' tmp.* | cat -n
0
26.04.2021, 07:01
1 ответ
$ sed 's/=[^=&]*/=somevalue/g' file
https://somewebsite.com/some/path/?parameter=somevalue&another=somevalue
2
28.04.2021, 22:51

Теги

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