This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: newby stupid question - cat mutiple files to new piped output files


How about:

--- 8< cut here ---
#!/bin/bash
pushd /cygdrive/d/pc1
for file in *.csv; do
        if [ "${file##new_}" != "${file}" ]; then next; fi
        cat "${file}" | uniq > "new_${file}"
done
popd
-------------------

I Guess bas is like perl: TIMTOWTDI ;)


> Ronald Landheer-Cieslak wrote on Wednesday, November 26, 2003 12:53 PM:
>
> for i in /cygdrive/d/pc1/*.csv; do
> cat $i | uniq > /cygdrive/d/pc1/newfilename.csv
> done
> 
> This will work once, because the new files won't be there
> yet. After that, the *.csv will pick up the new files as well..

Apart from that, you will overwrite the new file each time ;-)

$ for i in /cygdrive/d/pc1/*.csv; do cat $i | uniq > 
/cygdrive/d/pc1/$1.new; done

Now you avoid that your new files are picked also and all new files have 
new names (a .new appended).

Other approaches to do something like that:
find /cygdrive/d/pc1/*.csv -exec uniq \{} \{}.new \;

refer the manuals ...

:)


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/





--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]