I have below csv file, which have around 5k lines in following format:
ABC,12345,test.com,56780,0.00,200.65,0.00,0.00,200.65
XYZ,54311,tset.com,69540,0.00,102.32,0.00,0.00,102.32
..
...
I wanted to sort this file on field6 so that i could extract my desired lines from the csv file. I did use below command which sorted my csv file on field no 6:
sort -n -r -t, +6 -7 vishnu.csv
-n Specifies numeric field
-r Reverse sorting
-t specifies seperator (here , is a seperator)
+6, -7 specifies column position
sorting the csv file if separator is tab
sort -t $'\t' -k5 -nr filename
Sunday, September 7, 2008
Sorting a csv file on a particular field
Posted by
Vishnu Agrawal
at
7:55 PM
0
comments
List of tables in the Oracle schema
Wanted to find out list of tables in the Oracle schema? We can use any of the following sql query; which will list all the tables in the specified schema of Oracle database.
SELECT * FROM cat;
SELECT TABLE_NAME FROM TABS;
SELECT * FROM user_objects WHERE object_type = 'TABLE';
SELECT TABLE_NAME FROM ALL_ALL_TABLES;
Posted by
Vishnu Agrawal
at
1:20 AM
0
comments
Labels: oracle
Thursday, August 14, 2008
Execute a perl script from java Program
Interested to execute a perl script from a java program.... uhmmmmm... see below java program (Sample.java)
import java.io.*;
public class Sample{
public static void main(String args[]) {
Process process;
try
{
process = Runtime.getRuntime().exec("perl testscript.pl");
process.waitFor();
if(process.exitValue() == 0)
{
System.out.println("Command Successful");
}
else
{
System.out.println("Command Failure");
}
}
catch(Exception e)
{
System.out.println("Exception: "+ e.toString());
}
}
}
javac Sample.java
java -cp . Sample
Posted by
Vishnu Agrawal
at
5:09 PM
17
comments
Labels: java
compare two sorted files in unix
If you wanted to compare 2 sorted files then use comm command. comm command compares two sorted files line by line. This command reads the File1 and File2 as parameter and writes a three column output to standard output.
First Column: Lines that are only in File1
Second Column: Lines that are only in File2
Third Column: Lines that are in both File1 and File2
Syntax:
comm [-1] [-2] [-3 ] file1 file2
-1 Suppresses the display of the first column (lines in File1)
-2 Suppresses the display of the second column (lines in File2)
-3 Suppresses the display of the third column (lines both in File1 and File2)
Posted by
Vishnu Agrawal
at
4:09 PM
0
comments
Labels: linux
Killing a defunct process
A defunct (or "zombie") process is a process that isn't running, isn't eligible to run, and takes up no system resources. It's actually a process that has exited, but its parent has not called wait() in order to find out its exit status.
defunct processes can't be killed since they are already dead. To make them disappear you have to kill their parent process.
Find the parent process id of the defunct process and then kill that parent process:
ps -fe | grep defunctprocess | awk '{print $3}'
kill -9 parentprocessid
Posted by
Vishnu Agrawal
at
4:04 PM
0
comments
Labels: linux
Reverse the contents of a file
If you wanted to reverse the contents of a file, use below perl script:
#!/usr/bin/perl
$filename = "a.java";
open(INFILE, "<", $filename)
or die "Can't open $filename for reading: $!\n";
my(@content) =
close(INFILE);
while (@content) {
my($line) = pop(@content);
chomp $line;
print reverse($line)."\n";
}
Posted by
Vishnu Agrawal
at
3:54 PM
0
comments
Labels: linux
Reversing a file
You have a file and you wanted to reverse it. How to do it? Guys...... its really very easy.. Use below commands:
tail -r filename
or
cat -n filename | sort -nr | cut -c8-
You can achieve the same by writing a perl script. See below perl script:
#!/usr/bin/perl
$filename = "a.java";
open(INFILE, "<", $filename)
or die "Can't open $filename for reading: $!\n";
my(@content) = <INFILE>;
close(INFILE);
while (@content) {
my($line) = pop(@content);
chomp $line;
print "$line \n";
}
Posted by
Vishnu Agrawal
at
3:20 PM
0
comments
Labels: linux
Tuesday, July 22, 2008
Zephyr - A Test Management Tool
Recently i got an email from Zephyr regarding their new product launch. Zephyr is basically a Test Management tool aimed at global SME, IT departments and Testing Vendors which helps the testing team to manage their test cases and provide test cases visibility at all levels using a central repository. I checked their product demo which looks cool.
http://www.getzephyr.com/
Posted by
Vishnu Agrawal
at
11:15 PM
0
comments
Sunday, July 20, 2008
Software Testing Life Cycle
Software Testing Life Cycle
From: sunny.deb, 8 months ago
Software Testing Life Cycle
SlideShare Link
Posted by
Vishnu Agrawal
at
9:25 AM
0
comments
Monday, July 14, 2008
Make INSERT statement syntax from a csv file using perl
I need to read a csv file and insert the data from csv to oracle. I created below perl script which will read the csv file line by line and will create INSERT statement accordingly.
#!/usr/bin/perl
$filename = "test.csv";
open(INFILE, "<", $filename)
or die "Can't open $filename for reading: $!\n";
my(@lines) = <INFILE>;
my($line1) = $lines[0];
my($line2) = $lines[1];
print "$line1 \n";
print "$line2 \n";
close(INFILE);
my($tablename) = "mytable";
my($createquery) = "Create table " . $tablename . "(";
my(@var1) = split("\t", $line1);
my(@var2) = split("\t", $line2);
my($i) = 0;
for $item1 (@var1){
chomp($item1);
$createquery = $createquery . $item1 . " ";
$data = $var2[$i++];
print "$item1\t : $data\n";
if(checkData($data) eq "int"){
$createquery = $createquery . "number(10,0), ";
}
elsif(checkData($data) eq "float"){
$createquery = $createquery . "number(10,2), ";
}
else{
$createquery = $createquery . "varchar2(50), ";
}
}
$createquery = substr($createquery,0, -2);
$createquery = $createquery . ");";
print "$createquery\n";
$i = 0;
for $dataline (@lines){
if ( $i == 0){
$i = 1;
next;
}
chomp($dataline);
my(@dataitem) = split("\t", $dataline);
my($insertquery) = "INSERT INTO " . $tablename . " VALUES (";
print "$dataitem\n";
for $items (@dataitem){
if( (checkData($items) eq "int") || (checkData($items) eq "float") ){
$insertquery = $insertquery . $items .",";
}
else{
$insertquery = $insertquery . "\"" . $items . "\"" .",";
}
}
$insertquery = substr($insertquery, 0, -1);
$insertquery = $insertquery . ")";
print "$insertquery\n";
}
sub checkData(){
if(@_[0] =~ /^-?\d+$/){
return "int";
}
elsif(@_[0] =~ /^-?(?:\d+(?:\.\d*)?|\.\d+)$/){
return "float";
}
else{
return "string";
}
}
Posted by
Vishnu Agrawal
at
4:34 PM
0
comments
Labels: perl script