From: eric DOT engberg AT nextcard DOT com (Eric Engberg) Subject: Trouble passing args, & where is 'more' 25 Sep 1998 04:19:13 -0700 Message-ID: <19980924173450.19653.qmail.cygnus.gnu-win32@findmail.com> To: gnu-win32 AT cygnus DOT com Hey, I took some text-hacking code written on Unix that uses things like sed, awk, and perl, and I can't seem to get some of the simple scripts that use command line arguments to work. I am also looking for a tool like 'more' so stdout doesn't fly by if its more than 1 page. I'm also wondering how to 'alias' commands, and how to accomplish 'foreach' commands. Basically, I miss Unix. Below is an example of a script that doesn't work on NT (with cygwin32, and correctly telling it to use bash as the shell), but worked fine on Unix. Any help would be much appreciated. -Eric Eric DOT Engberg AT nextcard DOT com #!/bin/csh # # lst2xlt # General sed script to tab-delimit SAS output (for import to Excel) # # USAGE: % lst2xlt sasoutfile1.lst [ sasoutfile2.lst ... ] # # 1. strips whitespace up to first non-white char of line # 2. strips whitespace after last non-white char of line # 3. removes page breaks # 4. removes SAS table border characters: {-,|,+} # 5. replaces 2 or more spaces with a single tab for parsing into cells # # EXAMPLES: % lst2xlt pprint.lst -- converts single file to pprint.xlt # % lst2xlt *.lst -- generates .xlt file for each .lst in dir # # NOTE: will *not* use any file that doesn't end in .lst, and does # not alter existing .lst input file # # ABF Tue Dec 05 1995 foreach sasfile ($*) if (${sasfile:e} =~ 'lst') then sed 's/^ *//\ s/ *$//\ s/|/ /g\ /^[-+ ]\{3,\}$/d\ s/ *//g\ s/ \{2,\}/ /g' $sasfile >! ${sasfile:r}.xlt else echo ${0}: Ignoring $sasfile endif end ----- Free e-mail group hosting at http://www.eGroups.com/ - For help on using this list (especially unsubscribing), send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".