The Code Project - Shell.NET - C# Programming
"Shell.NET is a set of console applications written in C#. It features some classical Unix applications like basename, cal, grep, tr, uniq, wc, but also some very unique tools like RunScript or TextTransform, a awk-like text processing application accepting scripts written in any of the languages supported by the installed .NET Framework.
...
As of today Shell.NET is made of more than 30 applications:
Basename - Strip filename affixes
Cal - Print calendar
Decho - Echo arguments
Factor - Factor a number
Grep - Search for a text pattern in files
Head - Display top lines of files
ImageBuilder - Build an image from a pattern and a text string
Pwd - Print working directory
Reverse - Reverse lines of a file
RunScript - Compile and execute .NET scripts
SameFiles - Determine whether 2 files are the same
SortLines - Sort or merge files
Tail - Display last lines of files
Tee - Pipe fitting
TextMerge - Cut and merge text files
TextReplace - Replace text patterns
TextTabs - Expand or compress tabs
TextTransform - Text files manipulation
Touch - Update file timestamp
Translate - Translate characters
Uniq - Report repeated lines
Where - Search for files
Which - Find which version of a program is active
WordCount - Count characters, words, and lines
WShell - A Windows form interface for most of the Shell.NET utilities like Grep, TextTabs, TextReplace,...
XmlQuery - Extraction data from xml files.
XmlRichDocument - Build rich xml document file from an assembly
XmlTransform - Xml files manipulation
XmlValidate - Validate xml files against a dtd, xdr, or xsd schema file. ..."
There are some interesting items in this collection, all of which include the source (which makes me a happy coder... :)
Looks like the source is a couple years old, but as long as we HAVE the source and it works, that's just fine.
Friday, July 15, 2005
1 comment:
NOTE: Anonymous Commenting has been turned off for a while... The comment spammers are just killing me...
ALL comments are moderated. I will review every comment before it will appear on the blog.
Your comment WILL NOT APPEAR UNTIL I approve it. This may take some hours...
I reserve, and will use, the right to not approve ANY comment for ANY reason. I will not usually, but if it's off topic, spam (or even close to spam-like), inflammatory, mean, etc, etc, well... then...
Please see my comment policy for more information if you are interested.
Thanks,
Greg
PS. I am proactively moderating comments. Your comment WILL NOT APPEAR UNTIL I approve it. This may take some hours...
Projects like this one are cool as proofs of concept (compare, for example, Perl Power Tools), but their practical value is limited compared to full-blown ports of the Unix toolkit utilities such as Cygwin and the MKS Toolkit. Cygwin is GNU/Linux-compatible and the MKS Toolkit is fully POSIX-compliant.
ReplyDeleteThe XML utilities look interesting. I wonder if they're modeled on any existing XML command-line utilities like xmllint. Presumably, if written well, the source code for these utilities might serve as a good primer for doing low-level XML programming in C# and, by extension, other .NET language.