There are many things here that feel wrong or at least inelegant, starting with the first character. Surely you mean a comma not a period. You are also inconsistent: sometimes you use x to find the pattern and then change it, sometimes you use a substitute. It's more efficient in both time and keystrokes to use c or d when you can:

,x/‘‘|’’/c/"/
,x/\*/d

for example.

But overall: If you show us either the ed script you use, or a precise definition of the problem, people could offer solutions. I assure you sam can do this; it's far more powerful than ed.

But then: Why not use ed if you have a working script? Or are you just trying to understand sam better? The docs for sam are complete. Lose your line orientation and think of the file as a single string. That's how sam works.

-rob




On Wed, Jul 21, 2021 at 7:18 PM <revcomninos@gmail.com> wrote:
In ed I have a cleanup script which I can apply to several files at once. The script removes things like blank lines and spaces between words. To run it on a file or multiple files, I type this command:
ed [name of file(s)] < cleanup-script
I converted all the regular expressions in the file into sam regex format and tried the same, but to no avail.  Here is a list of some of the commands:
.x s/\*//g
,x/^ +/s///
,x/ +$/s///
,x/  +/s// /
,x/^$\n/d
,x/‘‘|’’/s//"/
,x/“|”/s//"/
,x/‘|’/s//"/
,x/^ +/s///
,x/ +$/s///
,x/  +/s// /
,x/^$\n/d
,x/‘‘|’’/s//"/
,x/“|”/s//"/
,x/‘|’/s//"/
,x/teh/c/the/
wq
I am not even sure sam can do this, but if it can, I would appreciate some guidance on how to do it.