(sed) Delete an entire line if either condition is true -
i working csv file looks this
kmgm more words , things 7hsq other more words , stuff jhgq8 more other stuff kh21 , more stuff   the valid lines first word letter followed 3 characters letters or numbers.  in above example, lines containing kmgm , kh21 valid.  want delete others using sed.
i wanted make condition say,
if first character not letter or     fifth character not space or     characters two, three, or 4 contain         other uppercase letter or number     delete entire line   i don't know how formulate in sed. had similar problem yesterday rows 4 characters long. have added information , rows vary in length.
this might work you.
sed -n '/^[a-z][a-z0-9]\{3\} /p'   instead deleting, keeps lines match conditions. this:
if first character letter ,    fifth character space ,    characters two, three, or 4 contain         uppercase letter or number     keep (print) line   /pprinting if regex matches-navoids printing otherwise
if want edit file in-place, can run this:
sed --in-place=.bak -n '/^[a-z][a-z0-9]\{3\} /p' yourfile.csv   it delete lines want delete directly in file , stores backup of original file in yourfile.csv.bak.
Comments
Post a Comment