Optimus81:
Please see this link on how to add colors to output of shell scripts. Aravindhan_D:
First, ksh is not a command per se, but a shell.
Second, this code snippet should at least get you started:
Please note that the code above makes the following assumptions:
1) The number of lines in a.txt is greater than the number of lines in b.txt.
2) To produced your desired output, all the lines in b.txt must appear in a.txt, so that only the lines that are in a.txt but not in b.txt will be redirected to diff.txt.
Hope it helps.
Hi,
I have a question of comparing to files and output
the result third file where file1 is the mainfile containing processed dir data
and 2nd file grepīs dirīs data again (could be newer dirs comparing file1<file2)
now i wanna make shure that output in file3 only contains newer dirs
hx... (1 Reply)
I have searched about 30 threads, a load of Google pages and cannot find what I am looking for. I have some of the parts but not the whole. I cannot seem to get the puzzle fit together.
I have three folders, two of which contain different versions of multiple files, dist/file1.php dist/file2.php... (4 Replies)
Hi,
I have two files, file1 and file2 and I need to compare them by line (exact match, order of the lines is not important) and get output with lines from file2 that are not found in file1 (not other way around).
How do I do that? With grep or otherwise..
Thankyou (2 Replies)
I have four files, I need to compare these files together.
As such i know "sdiff and comm" commands but these commands compare 2 files together. If I use sdiff command then i have to compare each file with other which will increase the codes.
Please suggest if you know some commands whcih can... (6 Replies)
Hi,
I'm trying to use sdiff by parsing the output of another command instead of the filename:
sdiff <(echo test1) <(echo test2)However, this seems to cause my terminal session to stop working.
If I use it with normal diff it works fine:
~$ diff <(echo test1) <(echo test2)
1c1
< test1... (4 Replies)
Hi All,
I have been surfing to get some idea on how to compare same files from two different paths.
one path will have oldfiles directory and another path will have newfiles directory. Each main directories will have sub-directories in them and
each sub-directories inturn will have... (3 Replies)
Hi All,
I am trying to run find command in a script to list out certain files based on a patter. However, when there is no file in the output, the script should exit.
Tried a couple of operators (-n, -z) etc but the script does not work.
I am confused whether a null string is returned... (3 Replies)
Hi
i am comparing file on 2 different machine with the help of script.
however i am get below o/p
======= /usr/tmp =========
======= /usr/tmp not a regular file i am not sure what does "not a regular file mean" .
is it something serious, if yes then what i need to check or we can... (1 Reply)
Hello guys,
I have a problem. I'm trying to use SDiff with two files which are containing spaces.
My problem is that I want to save the output with > in an extra file.
If I try to use it like this.
sdiff "test file1" "test file2" > OutputfileI get this message:
usage: diff ... (11 Replies)
In the example below i would want the extensions to match.
Is there any other utility or script to achieve this. Kindly help.
Example:
sdiff sourceFileNames targetFileNames
17021701P.blf | 17021901P.ibk
17021701P.chn | 17021901P.irk
17021701P.bmr | 17021901P.dyd
17021701P.dpf |... (7 Replies)
Discussion started by: jamilpasha
7 Replies
LEARN ABOUT DEBIAN
shell-quote
SHELL-QUOTE(1p) User Contributed Perl Documentation SHELL-QUOTE(1p)NAME
shell-quote - quote arguments for safe use, unmodified in a shell command
SYNOPSIS
shell-quote [switch]... arg...
DESCRIPTION
shell-quote lets you pass arbitrary strings through the shell so that they won't be changed by the shell. This lets you process commands
or files with embedded white space or shell globbing characters safely. Here are a few examples.
EXAMPLES
ssh preserving args
When running a remote command with ssh, ssh doesn't preserve the separate arguments it receives. It just joins them with spaces and
passes them to "$SHELL -c". This doesn't work as intended:
ssh host touch 'hi there' # fails
It creates 2 files, hi and there. Instead, do this:
cmd=`shell-quote touch 'hi there'`
ssh host "$cmd"
This gives you just 1 file, hi there.
process find output
It's not ordinarily possible to process an arbitrary list of files output by find with a shell script. Anything you put in $IFS to
split up the output could legitimately be in a file's name. Here's how you can do it using shell-quote:
eval set -- `find -type f -print0 | xargs -0 shell-quote --`
debug shell scripts
shell-quote is better than echo for debugging shell scripts.
debug() {
[ -z "$debug" ] || shell-quote "debug:" "$@"
}
With echo you can't tell the difference between "debug 'foo bar'" and "debug foo bar", but with shell-quote you can.
save a command for later
shell-quote can be used to build up a shell command to run later. Say you want the user to be able to give you switches for a command
you're going to run. If you don't want the switches to be re-evaluated by the shell (which is usually a good idea, else there are
things the user can't pass through), you can do something like this:
user_switches=
while [ $# != 0 ]
do
case x$1 in
x--pass-through)
[ $# -gt 1 ] || die "need an argument for $1"
user_switches="$user_switches "`shell-quote -- "$2"`
shift;;
# process other switches
esac
shift
done
# later
eval "shell-quote some-command $user_switches my args"
OPTIONS --debug
Turn debugging on.
--help
Show the usage message and die.
--version
Show the version number and exit.
AVAILABILITY
The code is licensed under the GNU GPL. Check http://www.argon.org/~roderick/ or CPAN for updated versions.
AUTHOR
Roderick Schertler <roderick@argon.org>
perl v5.8.4 2005-05-03 SHELL-QUOTE(1p)