Moreutils is een collectie van op dit moment veertien programma's die gespecialiseerd zijn in één kleine taak. We doorlopen een aantal ervan om te laten zien dat ze handig zijn voor sommige taken. Bekijk zeker de man-pagina van deze en nog andere programma's uit de collectie voor meer informatie.

Bestanden

Het programma combine combineert regels uit twee bestanden. Met combine bestand1 and bestand2 krijg je de regels uit bestand1 te zien die ook in bestand2 voorkomen. Met combine bestand1 not bestand2 krijg je de regels te zien die in bestand1 voorkomen maar niet in bestand2, met combine bestand1 or bestand2 krijg je de regels te zien die in bestand1 of bestand2 voorkomen, en met combine bestand1 xor bestand2 krijg je de regels te zien die in bestand1 of bestand2 voorkomen, maar niet in beide.

Wil je complexe bewerkingen op bestanden in een directory uitvoeren, dan komt vidir van pas. Geef je als argument een directory op, dan krijg je alle bestandsnamen op genummerde regels te zien in je standaard editor (die je in de omgevingsvariabele $EDITOR ingesteld hebt). Verwijder je een regel, dan wordt het bestand verwijderd. Pas je een bestandsnaam aan in de editor, dan wordt die na het afsluiten van vidir effectief gewijzigd. Zo kun je gebruik maken van de krachtige zoek- en vervang-functies van je favoriete editor. Je kunt ook de namen van bestanden verwisselen door de nummers voor de regels te wisselen.

In- en uitvoer

Met ifne commando voer je commando uit als stdin niet leeg is. Dit kun je bijvoorbeeld gebruiken om een commando uit te voeren als een find-commando geen bestanden vindt, zoals in find . -name core | ifne echo "Core dumps gevonden". Met de optie -n voert ifne het erachter vermelde commando uit wanneer stdin juist wel leeg is. Met mispipe commando1 commando2 pipe je twee commando's (als in commando1 | commando2), maar met het verschil dat de exit-code van mispipe de exit-code van commando1 is, waar een normale pipe in de shell de exit-code van commando2 teruggeeft.

Met vipe kun je je standaard editor midden in een pipe tussen twee programma's plaatsen en de gegevens aanpassen voor ze naar het tweede programma doorgegeven worden. Dat draai je dan als programma1 | vipe | programma2. Dit komt bijvoorbeeld van pas als je nog handmatig enkele bestandsnamen uit de uitvoer van een find-commando wil filteren voor je deze doorgeeft aan een ander programma.

Scripts

Met het commando ifdata [opties] eth0 kun je allerlei informatie over de netwerkinterface opvragen, afhankelijk van de opties die je opgeeft. De uitvoer hiervan is eenvoudiger te parsen dan die van ifconfig, waardoor ifdata handig is voor gebruik in scripts. Een eenvoudig ifdata -ph eth0 toont bijvoorbeeld het hardwareadres van netwerkinterface eth0, zodat je hier niet meer achter hoeft te gaan greppen in de uitvoer van ifconfig.

Wil je voorkomen dat een bepaald programma zoals een back-up script meermaals tegelijk wordt uitgevoerd, dan kan lckdo je helpen. Je voert het uit als lckdo lockbestand programma. Als je daarna een tweede keer lckdo lockbestand programma aanroept, wordt het programma niet uitgevoerd omdat het lockbestand aangeeft dat het al uitgevoerd wordt. Gebruik je de optie -w, dan wacht de tweede aanroep van lckdo tot de eerste aanroep zijn lock weer vrijgegeven heeft en wordt de tweede aanroep dan pas uitgevoerd. Met de optie -W seconden bereik je hetzelfde maar wacht de tweede aanroep slechts het opgegeven aantal seconden.