awk '{ for ( i=1; i <= NF; i++)
{ sub(".", substr(toupper($i),1,1) , $i) }
print }' infile
Sunday, June 21, 2009
How can you convert a text file to all lower case or all upper case?
As usual, in Linux, there are more than 1 way to accomplish a task.
To convert a file (input.txt) to all lower case (output.txt), choose any ONE of the following:
* dd
$ dd if=input.txt of=output.txt conv=lcase
* tr
$ tr '[:upper:]' '[:lower:]' < input.txt > output.txt
* awk
$ awk '{ print tolower($0) }' input.txt > output.txt
* perl
$ perl -pe '$_= lc($_)' input.txt > output.txt
* sed
$ sed -e 's/\(.*\)/\L\1/' input.txt > output.txt
We use the backreference \1 to refer to the entire line and the \L to convert to lower case.
To convert a file (input.txt) to all upper case (output.txt):
* dd
$ dd if=input.txt of=output.txt conv=ucase
* tr
$ tr '[:lower:]' '[:upper:]' < input.txt > output.txt
* awk
$ awk '{ print toupper($0) }' input.txt > output.txt
* perl
$ perl -pe '$_= uc($_)' input.txt > output.txt
* sed
$ sed -e 's/\(.*\)/\U\1/' input.txt > output.txt
reference from
http://linuxcommando.blogspot.com/2008/05/how-to-convert-text-files-to-all-upper.html
To convert a file (input.txt) to all lower case (output.txt), choose any ONE of the following:
* dd
$ dd if=input.txt of=output.txt conv=lcase
* tr
$ tr '[:upper:]' '[:lower:]' < input.txt > output.txt
* awk
$ awk '{ print tolower($0) }' input.txt > output.txt
* perl
$ perl -pe '$_= lc($_)' input.txt > output.txt
* sed
$ sed -e 's/\(.*\)/\L\1/' input.txt > output.txt
We use the backreference \1 to refer to the entire line and the \L to convert to lower case.
To convert a file (input.txt) to all upper case (output.txt):
* dd
$ dd if=input.txt of=output.txt conv=ucase
* tr
$ tr '[:lower:]' '[:upper:]' < input.txt > output.txt
* awk
$ awk '{ print toupper($0) }' input.txt > output.txt
* perl
$ perl -pe '$_= uc($_)' input.txt > output.txt
* sed
$ sed -e 's/\(.*\)/\U\1/' input.txt > output.txt
reference from
http://linuxcommando.blogspot.com/2008/05/how-to-convert-text-files-to-all-upper.html
Monday, May 18, 2009
copy cpp files from diresctory to destination maintaining directory structure
find . -iname *.cpp | cpio -pudvm /destination
Change bash appearance
BLUE=`tput setf 1`
GREEN=`tput setf 2`
CYAN=`tput setf 3`
RED=`tput setf 4`
MAGENTA=`tput setf 5`
YELLOW=`tput setf 6`
WHITE=`tput setf 7`
PS1='\[\[$RED\]\u@:\w # \[$CYAN\]'
\a an ASCII bell character (07)
\d the date in "Weekday Month Date" format (e.g., "Tue May 26")
\D{format} the format is passed to strftime(3) and the result
is inserted into the prompt string an empty format
results in a locale-specific time representation.
The braces are required
\e an ASCII escape character (033)
\h the hostname up to the first `.'
\H the hostname
\j the number of jobs currently managed by the shell
\l the basename of the shell's terminal device name
\n newline
\r carriage return
\s the name of the shell, the basename of $0 (the portion following
the final slash)
\t the current time in 24-hour HH:MM:SS format
\T the current time in 12-hour HH:MM:SS format
\@ the current time in 12-hour am/pm format
\A the current time in 24-hour HH:MM format
\u the username of the current user
\v the version of bash (e.g., 2.00)
\V the release of bash, version + patch level (e.g., 2.00.0)
\w the current working directory, with $HOME abbreviated with a tilde
\W the basename of the current working directory, with $HOME
abbreviated with a tilde
\! the history number of this command
\# the command number of this command
\$ if the effective UID is 0, a #, otherwise a $
\nnn the character corresponding to the octal number nnn
\\ a backslash
\[ begin a sequence of non-printing characters, which could be used
to embed a terminal control sequence into the prompt
\] end a sequence of non-printing characters
GREEN=`tput setf 2`
CYAN=`tput setf 3`
RED=`tput setf 4`
MAGENTA=`tput setf 5`
YELLOW=`tput setf 6`
WHITE=`tput setf 7`
PS1='\[\[$RED\]\u@:\w # \[$CYAN\]'
\a an ASCII bell character (07)
\d the date in "Weekday Month Date" format (e.g., "Tue May 26")
\D{format} the format is passed to strftime(3) and the result
is inserted into the prompt string an empty format
results in a locale-specific time representation.
The braces are required
\e an ASCII escape character (033)
\h the hostname up to the first `.'
\H the hostname
\j the number of jobs currently managed by the shell
\l the basename of the shell's terminal device name
\n newline
\r carriage return
\s the name of the shell, the basename of $0 (the portion following
the final slash)
\t the current time in 24-hour HH:MM:SS format
\T the current time in 12-hour HH:MM:SS format
\@ the current time in 12-hour am/pm format
\A the current time in 24-hour HH:MM format
\u the username of the current user
\v the version of bash (e.g., 2.00)
\V the release of bash, version + patch level (e.g., 2.00.0)
\w the current working directory, with $HOME abbreviated with a tilde
\W the basename of the current working directory, with $HOME
abbreviated with a tilde
\! the history number of this command
\# the command number of this command
\$ if the effective UID is 0, a #, otherwise a $
\nnn the character corresponding to the octal number nnn
\\ a backslash
\[ begin a sequence of non-printing characters, which could be used
to embed a terminal control sequence into the prompt
\] end a sequence of non-printing characters
Clears Firefox` cache without clicking around
rm_cache() { rm -f $HOME/.mozilla/firefox//Cache/* }; alias rmcache='rm_cache'
change mac address
ifconfig eth0 hw ether 00:11:22:33:44:55
changes are valid until system is rebooted.
changes are valid until system is rebooted.
change file extension of all files in a dir of a certain type to another type
for f in *.jpg; do mv "$f" "${f%.jpg}.bmp"; done
List top ten files/directories sorted by size
du -sb *|sort -nr|head|awk '{print $2}'|xargs du -sh
for full list
du -s *|sort -nr|cut -f2|xargs du -sh
for full list
du -s *|sort -nr|cut -f2|xargs du -sh
Thursday, April 9, 2009
linux login/logout profiles
Login Scripts
Behind the scenes, when you login, the following shell scripts are executed. They are used to set environment variables and system settings.
/etc/profile
- This is the first script that is executed.
- This script is used to set global parameters that are common to all users.
/home/
/.profile
- This is the next script that is normally executed.
- Most likely the contents of this file will be the same for all users.
- It can be changed to set unique parameters for each user.
/home/
/.bashrc
- This is the next script that is run and/or each time you start a new shell.
Sed Command
Keeping lines containing certain words with the sed command
sed -i -e '/firefox/!d' TheEntireIntarwebs.html
sed // The program
-i // tells sed to write the results back to the source file
-e // tells sed to interpret the next argument as a regular
sed -i -e '/firefox/!d' TheEntireIntarwebs.html
sed // The program
-i // tells sed to write the results back to the source file
-e // tells sed to interpret the next argument as a regular
Friday, March 20, 2009
Bash Commands
Ctrl + xx Move between EOL and current cursor position
Ctrl-a Move to the start of the line.
Ctrl-e Move to the end of the line.
Ctrl-b Move back one character.
Ctrl-f Move forward one character.
Alt-b Move back one word.
Alt-f Move forward one word.
Alt-] x Where x is any character, moves the cursor forward to the next occurance of x.
Alt-Ctrl-] x Where x is any character, moves the cursor backwards to the previous occurance of x.
Ctrl-u Erase the current line.
Ctrl-k Delete from the cursor to the end of the line.
Ctrl-w Delete from the cursor to the start of the word.
Esc-Del Delete previous word (may not work, instead try Esc followed by Backspace)
Alt + d Delete word
Ctrl-y Pastes text from the clipboard.
Ctrl-l Clear the screen leaving the current line at the top of the screen.
Ctrl-x Ctrl-u Undo the last changes. Ctrl-_ does the same
Alt-r Undo all changes to the line.
Ctrl-d Delete from under the cursor
Ctrl-r Search the history backwards
Ctrl-R Search the history backwards with multi occurrence
Ctrl-xx Move between EOL and current cursor position
Ctrl-x @ Show possible hostname completions
Alt-< Move to the first line in the history
Alt-> Move to the last line in the history
Alt-? Show current completion list
Alt-* Insert all possible completions
Alt-/ Attempt to complete filename
Alt-. Yank last argument to previous command
Alt-back-space Delete backward from cursor
2T = TAB twice
/2T Entire directory structure including Hidden one
*2T Only Sub Dirs inside without Hidden one
Alt-n Search the history forwards non-incremental
Alt-p Search the history backwards non-incremental
Alt-t Move words around
Alt-u Make word uppercase
Alt-l Make word lowercase
Alt-c Capitalize the word
Ctrl-a Move to the start of the line.
Ctrl-e Move to the end of the line.
Ctrl-b Move back one character.
Ctrl-f Move forward one character.
Alt-b Move back one word.
Alt-f Move forward one word.
Alt-] x Where x is any character, moves the cursor forward to the next occurance of x.
Alt-Ctrl-] x Where x is any character, moves the cursor backwards to the previous occurance of x.
Ctrl-u Erase the current line.
Ctrl-k Delete from the cursor to the end of the line.
Ctrl-w Delete from the cursor to the start of the word.
Esc-Del Delete previous word (may not work, instead try Esc followed by Backspace)
Alt + d Delete word
Ctrl-y Pastes text from the clipboard.
Ctrl-l Clear the screen leaving the current line at the top of the screen.
Ctrl-x Ctrl-u Undo the last changes. Ctrl-_ does the same
Alt-r Undo all changes to the line.
Ctrl-d Delete from under the cursor
Ctrl-r Search the history backwards
Ctrl-R Search the history backwards with multi occurrence
Ctrl-xx Move between EOL and current cursor position
Ctrl-x @ Show possible hostname completions
Alt-< Move to the first line in the history
Alt-> Move to the last line in the history
Alt-? Show current completion list
Alt-* Insert all possible completions
Alt-/ Attempt to complete filename
Alt-. Yank last argument to previous command
Alt-back-space Delete backward from cursor
2T = TAB twice
/2T Entire directory structure including Hidden one
*2T Only Sub Dirs inside without Hidden one
Alt-n Search the history forwards non-incremental
Alt-p Search the history backwards non-incremental
Alt-t Move words around
Alt-u Make word uppercase
Alt-l Make word lowercase
Alt-c Capitalize the word
Monday, March 16, 2009
Rpm commands
rpm -Uvh packages(s).rpm install/upgrade package file(s)
rpm -e package remove package
rpm -qa '*spell*' show all packages whose names contain the word spell
rpm -q package show version of package installed
rpm -q -i package show all package metadata
rpm -q -i -p package.rpm show all package file's metadata
rpm -q -f /path/file what package does file belong
rpm -q -l package list where files were installed
rpm -q -l -p package.rpm list where files would be installed
rpm2cpio package.rpm | cpio -id extract package files to current directory
rpm -q --requires package list files/packages that package needs
rpm -q --whatrequires package list packages that need package (see also whatrequires)
rpm -e package remove package
rpm -qa '*spell*' show all packages whose names contain the word spell
rpm -q package show version of package installed
rpm -q -i package show all package metadata
rpm -q -i -p package.rpm show all package file's metadata
rpm -q -f /path/file what package does file belong
rpm -q -l package list where files were installed
rpm -q -l -p package.rpm list where files would be installed
rpm2cpio package.rpm | cpio -id extract package files to current directory
rpm -q --requires package list files/packages that package needs
rpm -q --whatrequires package list packages that need package (see also whatrequires)
Monday, March 2, 2009
Format USB Disk On Linux
Get the /dev mount point of the USB disk,
list file system using mkfs command, and then write desired filesystem command
let us select mkfs.vfat
then apply command
#sudo mkfs.vfat
give label to USB disk using
list file system using mkfs
let us select mkfs.vfat
then apply command
#sudo mkfs.vfat
/dev/sda1
give label to USB disk using
#sudo e2label /dev/sda1
jaimin-usb-disk
Thursday, January 29, 2009
Tar Extract a Single File(s) From a Large Tarball
We have a directory named directory1
file listing of directory is like this
--------------------------------------------------------------
directory1/
directory1/directory2
directory1/directory2/directory3
directory1/directory2/directory3/directory4
directory1/directory2/directory3/directory4/file4.file
directory1/directory2/directory3/file3.file
directory1/directory2/directory3/extract.this.file
directory1/directory2/file2.file
directory1/directory2/extract.this.file.also
directory1/file1.file
--------------------------------------------------------------
tar -cvzf directory1.archive.tgz directory1/
now we have tgz file directory1.archive.tgz
now give following command
--------------------------------------------------------------
tar -xvf directory1.archive.tgz --wildcards --no-anchored directory1/directory2/directory3/extract.this.file directory1/directory2/extract.this.file.also
--------------------------------------------------------------
Now?
go ahead you have
directory1/directory2/directory3/extract.this.file
directory1/directory2/extract.this.file.also
to use. have fun
file listing of directory is like this
--------------------------------------------------------------
directory1/
directory1/directory2
directory1/directory2/directory3
directory1/directory2/directory3/directory4
directory1/directory2/directory3/directory4/file4.file
directory1/directory2/directory3/file3.file
directory1/directory2/directory3/extract.this.file
directory1/directory2/file2.file
directory1/directory2/extract.this.file.also
directory1/file1.file
--------------------------------------------------------------
tar -cvzf directory1.archive.tgz directory1/
now we have tgz file directory1.archive.tgz
now give following command
--------------------------------------------------------------
tar -xvf directory1.archive.tgz --wildcards --no-anchored directory1/directory2/directory3/extract.this.file directory1/directory2/extract.this.file.also
--------------------------------------------------------------
Now?
go ahead you have
directory1/directory2/directory3/extract.this.file
directory1/directory2/extract.this.file.also
to use. have fun
Subscribe to:
Posts (Atom)