I have a few hundred text files in one directory with lists of users:


note that some do not lead with the &. Also, in some files, the last line does not end with a newline character.

What is the simplest way in a shell script to go through all those files and remove, say userb, ensuring that each existing user remains on its own line?


find /directory -name '*.users' -exec sed -i -r '/^&?userb$/d' {} \;
  • thanks! though I had to quote: '{}' the filename reference – carillonator Sep 3 '10 at 18:51
  • 1
    You should probably change the sed command to '/^&?userb$/d' to avoid deleting, say, "otheruserbeth" by mistake. – Gordon Davisson Sep 3 '10 at 19:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.