Skip to main content

Bash basics for personal reference.

To add double quotes in a line which has words seperated by comma.

sed -e 's/"//g' -e 's/[^,]*/"&"/g' -i filename

To add double quotes at end of line in a file.

sed -e 's/$/"/' -i filename

To add double quotes at begining of a line in a file.

sed -e 's/^/"/' -i filename

To replace using sed when there are too many "/" forward slash is there in the line or file to be replaced.

sed -i -e 's@/home/readonly/jas/@/home/readonly/jas/testfolder/@g'

In bash scripting on remote server ssh login, we could experience problems with awk print $ and `. In such situations, use cut and there will be no such issues.

To check a log file between two dates.

awk '$0 >= "Sep 26 05:01:11" && $0 <= "Sep 26 08:37:05"' logfile

To pass two objects using multiple for loop from single file.

for i in `cat names | awk '{print $1}'`; do for j in `cat names | grep $i | awk '{print $2}'`; do echo $i; echo $j; echo " "; done; done

Simple while loop in bash

while true ;  do ; clear ;  ps -ef|grep sed ;  sleep 20 ; done

Popular posts from this blog

Qmail cheat sheet

1) To check the mail queue in plesk from command line, you can use the command :


2) You can examine the queue with qmail-qread.


3) From the qread command you get the message id . In the above example , let us assume one of the id is 524514 . Now you can find the file holding the email in/var/qmail/queue with find command.

# find /var/qmail/queue -iname 524514


/var/qmail/queue/mess/22/524514 (mail headers)


4) From the mail header you get the IP address

vi /var/qmail/queue/mess/22/524514


Shortcut for the cool guys

find /var/qmail/queue -iname queu_id | grep mess | xargs less


4) If you wish …

Logical volume vmxxxx_img is used by another device - Error on LVM removal

Hi Folks,

I've faced error while trying to remove an LVM from the server.

The exact LVM error will be "Logical volume vmxxxx_img is used by another device" on executing the lvremove command.

Feel free to remove the following steps to remove the LVM from the server.

Note: Please remember to replace <id> with your VMID in the below section.

dmsetup ls dmsetup info -c xen-vm<id>_img dmsetup remove xen-vm<id>_img lvremove -f /dev/xen/vm<id>_img ----------------------------------------------------------

File system corrupted on the OpenVZ container.

It happens rarely but when it does, it is hard to handle. The OpenVZ VM's are usually stable in nature, but I've encountered situations where OpenVZ VM was showing file system error and was refusing to start.

You can follow the below steps to recover the VM.

1. ~# vzctl stop ctid

2. # ploop mount /vz/private/ctid/root.hdd/DiskDescriptor.xml
3. now do a df -h and you will get the ploop id for the VM.
4. fdisk -l /dev/ploop12345
5. e2fsck /dev/ploop12345p1
6. ploop umount -d /dev/ploop12345
7. vzctl start ctid