regex - Read variable matched by a .* operation -
modified working solution:
sed -r "s/(\.*)\[/\1\r[/g" better solution:
sed -r "s/(.*)\[/\1\r[/g" broken down:
s/ (\.*)\[ -string capture followed [ / \1\r[ -line replace /g" believe subsequent strings, more of these made (\.*) in same order appear left right, variables referenced. please try keep answers working sed line description of replace operation.
i want learn how use variables in sed. if have solution, i'm ears, wish learn how manipulate variables in sed.
i've tried
$1, %1 , 1
as combination of these \$1, \%1 \1 , /$1 /%1 /1
to no avail.
here's starting working script replaces matching section blank section.
sed -e "s/\.*\[//g" testfile.txt what want script replace (* representing prior (nonwhitespace) string)
*[ with (no blank lines or tabs in-between either)
* [ so figured like
c:\temp>sed -e "s/\.*\[/\1/g" testfile.txt sed: -e expression #1, char 12: invalid reference \1 on `s' command's rhs
i think want this:
$ cat file.txt should first line*[and should second $ sed -r 's/([^*]*\*)/\1\n/' file.txt should first line* [and should second note using -r option means don't need escape parens. if don't use -r must replace ( \( , ) \) first capture group within first parens
([^*]*\*) which captures before (and including) first *.
the replacement (\1\n) prints first capture group, followed newline, followed rest of line.
and if you're interested in learning sed, check out this tutorial
Comments
Post a Comment