RSS FeedOpen Source

Dartmouth University scientists update diff and grep Unix tools

Dartmouth University scientists update diff and grep Unix tools

Core command line applications extended to more complex forms of data

With some funding from Google and the US Energy Department, a pair of computer scientists at Dartmouth University are updating the venerable grep and diff Unix command line utilities to handle more complex types of data.

Such updates are needed because "we now tend to have more model-based configuration languages that have meaningful constructs spanning more than one line," said Gabriel Weaver, a Dartmouth graduate student who, along with Dartmouth computer science professor Sean Smith, is creating the variants of grep and diff.


Related Articles

 

Virtualisation, Big Data and BYOD

Check out our Business IT Hub for opinions and briefings. Read more


Weaver presented the new utilities at a poster session at the Usenix Large Installation System Administration (LISA) conference.

The new programs will allow administrators to extract meaningful data from configuration files, log files and other sources of operational data, the researchers maintain.

Grep and diff are command line-based text analysis tools available in all Linux and Unix distributions. Both are designed to parse documents on a line-by-line basis. Grep offers the ability to search through multiple text files and folders for a specific chunk of text or regular expression. Diff compares two documents and highlights the differences between them.

As with most Unix utilities, the output from either of these programs can be linked, or piped, to other utilities, so they can be incorporated into scripts that automate routine system administration tasks.

The new programs, called Context-Free Grep and Hierarchical Diff, will provide the ability to parse blocks of data rather than single lines. For each new type of data structure, a vendor would provide a pattern library identifying the basic structure of the data, which the software would then use to "extract the constructs of interest from the document," Weaver said.

Such utilities could provide administrators the ability to work with more complex forms of data now being generated by network equipment and infrastructure software. For instance, Cisco's IOS (Internetwork Operating System), which is the company's operating system for its routers and switches, will provide operational data in block-like data structures.

With this data, a tool such as diff "can be too low level," Weaver said. "Diff doesn't really pay attention to the structure of the language you are trying to tell differences between." He has seen cases where diff reports that 10 changes have been made to a file, when in fact only two changes have been made, and the remaining data has simply been shifted around.

Grep has issues with data blocks as well. "With regular expressions, you don't really have the ability to extract things that are nested arbitrarily deep," Weaver said.

Context-Free Grep is still in the design stage, but should be completed within the next few months. A prototype of Hierarchical Diff has been completed, though the researchers have not posted the code yet.

Google's interest in this technology springs from the company's efforts in cloud computing, where it must automate operations across a wide range of networking gear, Weaver said. The DOE foresees that this sort of software could play a vital role in smart grids, in which millions of energy consuming end-devices would have connectivity of some sort. The software would help "make sense of all the log files and the configurations of the power control networks," Weaver said.

In addition to system administration duties, the utilities could also be used in with non-technical languages as well. They could be used to parse legal documents, for instance, Weaver suggested.

A number of Usenix attendees praised the idea for its potential usefulness. "You wonder why it hasn't been done before," one said. Another commented that such tools could also be really handy for code repositories such as Git.

Send to a friend

Email this article to a friend or colleague:


PLEASE NOTE: Your name is used only to let the recipient know who sent the story, and in case of transmission error. Both your name and the recipient's name and address will not be used for any other purpose.

HP Business Answers

Join the discussion today

The HP Business Answers group is a vibrant community of small and medium sized business owners and employees. HP provides independent and expert advice in fields such as design, branding, taxation, technology, marketing or manufacturing so join today to network with over 6500 like-minded professionals.

Join the HP Business Answers Linkedin Community

Read the most recent discussions

Read more at the HP Business Answers Linkedin Community


ComputerWorldUK Resources

ComputerworldUK
Share
x
Open
* *