Skip to main content

Use of CUT Grep AWK Linux Command Combinations

Today I learn about power usage of grep cut and awk command;
My requirement was to know on which physical USB port which device is connected,
I can get this information from /proc/bus/usb/devices; which tells me about on which port which device is connected; my udev script will automatically mount the USB device with combination of Manufacturer name and serial number;
Here is the steps how I reached to simple solution instead of coding hundred lines of code.

To search for the SerialNumber in proc file i used
$ grep 'SerialNumber' /proc/bus/usb/devices

was giving me output in "S: SerialNumber=LDVTCGP6" format, I don't need that S: so used pipe;
$ grep 'SerialNumber' /proc/bus/usb/devices | awk '{print $2}'

This removes initial "S:" The output is combination of SerialNumber=LDVTCGP6 lines;
I need to separate each strings with individual values; use cut command from linux.
$ grep 'SerialNumber' /proc/bus/usb/devices | awk '{print $2}' | cut -d= -f2

This gives me "LDVTCGP6" as serial number; I need only for two ports so use tail command.
$ grep 'SerialNumber' /proc/bus/usb/devices | awk '{print $2}' | cut -d= -f2 | tail -2

This gives me only last two values; redirect this to some file like
$ grep 'SerialNumber' /proc/bus/usb/devices | awk '{print $2}' | cut -d= -f2 | tail -2 > /var/usb_port

This file contains now serialnumbers of usb device connected now for same way append values for port in same file;
$ grep 'Port' /proc/bus/usb/devices | awk '{print $5}' | cut -d= -f2 | tail -2 >> /var/usb_port

This way I got serialnumbers and physical ports connected values in one file now I can open this file and manipulate to meet my requirements.
Life is easy with cut,grep and awk commands in linux.

Some more examples to work out.
To print only the second and third lines of a file:
head -3 some.file | tail -2

Cut Command
------------
Divide a file into several parts (columns)
syntax:
cut [-b] [-c] [-f] list [-n] [-d delim] [-s] [file]
You have a file test.txt which has colon(:) seperated data

406378:Sales:Itorre:Jan
031762:Marketing:Nasium:Jim
636496:Research:Ancholie:Mel
396082:Sales:Jucacion:Ed

If you want to print first set of data from each row, you can use cut command as follow:

cut -d":" -f1 test.txt

Comments

Popular posts from this blog

Dotnet, .Net 3.5, 2.0, C# Interview Questions

Few questions on dotnet, C# 2.0, 3.5 On Object oriented concepts 1)What is inheritance with e.g 2)What is polymorphism -function overloading -Function overriding -virtual keyword use -Static keyword and use -Abstract classes -Interface -Object 3)What is threading and how do we use in realtime application(cognizant) 4)What is threadpooling, lock, monitor(write code sample) 5)Architecture of current project 6)Session state, diffrent types of state management. 7)What is Application_Start, how it works. 8)Type of authentication in asp.net 9)How to configure ASP.NET application. 10) What is Impersonation. 11) What is WebService, WSDL, UDDI, Discovery, asmx files. 12) How to implement WebService and use it. 13) When to use WebServices. 14) WPF, how to implement(BOA) 15) Testing concvepts. 16) Test attributes 17) Flow of Automation Test Method execution 18) Features of dotnet 3.5 19) CLR, garbage collection 20) Finally block 21) Manifest, Metadata, MSIL 22) Assemblies, Type of assemblies, str...

Linux SMB write performance With Simple Tips

SMB write performance can be increased by Tuning the buffer cache. The secret to good performance is to keep as much of the data in memory for as long as is possible. Writing to the disk is the slowest part of any filesystem. If you know that the filesystem will be heavily used, then you can tune this process for Linux Samba. writing out dirty blocks to the disk until the filesystem buffer cache is 80 percent full (80). default is 40%, source = http://tldp.org/LDP/solrhe/Securing-Optimizing-Linux-RH-Edition-v1.3/chap29sec287.html by writing echo 80 > /proc/sys/vm/dirty_ratio I am getting around 2MB increase while write operation, tested in Xp. I have tried with this single option, as the ref source is for linux 2.2 and we are using 2.6 kernel. we can try out Linux General Optimization suggested at http://tldp.org/LDP/solrhe/Securing-Optimizing-Linux-RH-Edition-v1.3/gen-optim.html Tried with smb.conf, I am getting around 1MB gain while read and write. socket options = TCP_NODELAY I...

ahsec results 2008 | www.ahsec.nic.in

The official website of assam higher secondary education council Results of Assam is down seems they are uploading results , direct link to check ahsec results 2008 is http://resultsassam.nic.in/index.asp You can find results of AHSEC at the link above. current page The Website www.ahsec.nic.in Designed Developed & Hosted by NIC, Assam State Centre, Guwahati is down for result uploading. keep checking this page, I will update as soon as news comes. All the best to AHSEC - assam higher secondary education council students. Direct links http://assam.nic.in/ www.ahsec.nic.in http://resultsassam.nic.in/