12-17-2001
grep -v -f xxxxxxx
I've got the code below. It does it's job but it's scrappy. Can someone explain why grep -v -f doesn't work against an empty file?
Basically I have a file of presumed good data - I want to remove any by comparing with a file I know are bad. When the bad file is empty - the output file is also empty. It's weird.
Works fine when the bad file has some data - so you'll see the cheap hack fix I've put in.
if [ -s tmp.merge.nos ]
then
join -t, -v 1 tmp.both tmp.req.merges | sed 's/=/,/' | grep -v -f tmp.merge.nos > $infile.ready
else
join -t, -v 1 tmp.both tmp.req.merges | sed 's/=/,/' > $infile.ready
fi
Maybe comm would be better - but I'd like to know why it doesn't work anyway (grep -v -f). Cheers
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi Guys,
I need to set the value of $7 to zero in case $7 is NULL. I've tried the below command but doesn't work. Any ideas. thanks guys.
MEM=`ps v $PPID| grep -i db2 | grep -v grep| awk '{ if ( $7 ~ " " ) { print 0 } else { print $7}}' `
Harby. (4 Replies)
Discussion started by: hariza
4 Replies
2. UNIX for Dummies Questions & Answers
Hello,
I looking to use grep to return a string with exactly n matches.
I'm building off this:
ls -aLl /bin | grep '^.\{9\}x' | tr -s ' '
-rwxr-xr-x 1 root root 632816 Nov 25 2008 vi
-rwxr-xr-x 1 root root 632816 Nov 25 2008 view
-rwxr-xr-x 1 root root 16008 May 25 2008... (7 Replies)
Discussion started by: MykC
7 Replies
3. UNIX for Dummies Questions & Answers
Hello,
I'm working on unix with grep (GNU grep) 2.5.1. I'm going through some of the newer regex syntax using Regular Expression Reference - Advanced Syntax a guide.
ls -aLl /bin | grep "\(x\)"
Which works, just highlights 'x' where ever, when ever.
I'm trying to to get (?:) to work but... (4 Replies)
Discussion started by: MykC
4 Replies
4. Shell Programming and Scripting
Hi All, I need to grep few files which has words like the below in the file name , which i want to put it in a file and and grep for the files which contain these names and move it to a new directory ,
full file name -C20091210.1000-20091210.1100_SMGBSC3:1000... (2 Replies)
Discussion started by: anita07
2 Replies
5. AIX
Hi
I was wondering if anybody has come across in a failure of fuser command.
We have a backup script that is:
fuser -c -k /XXX/XXXXXXX
sync;sync
umount /XXX/XXXXXXX/
backup -0 -f /dev/rmt0.1 -u /dev/XXXXXXXlv
mount /XXX/XXXXXXX/
sync;sync
The script is called from crontab via an... (2 Replies)
Discussion started by: ggovotsis
2 Replies
6. UNIX for Dummies Questions & Answers
I have a directory I need to grep which consists of numbered sub directories. The sub directory names change daily. A file resides in this main directory that shows which sub directories are FULL backups or INCREMENTAL backups.
My goal is to grep the directory for the word "full" and then... (2 Replies)
Discussion started by: SysAdm2
2 Replies
7. Shell Programming and Scripting
I have an input file
12.4 1.72849432773174e+01 -7.74784188610632e+01
12.5 9.59432114416327e-01 -7.87018212757537e+01
15.6 5.20139995965960e-01 -5.61612429666624e+01
29.3 3.76696387248366e+00 -7.42896194101892e+01
32.1 1.86899877018077e+01 -7.56508762501408e+01
35 6.98857157014640e+00... (2 Replies)
Discussion started by: chrisjorg
2 Replies
8. UNIX for Dummies Questions & Answers
Hello.
I want to get all modules which are loaded and which name are exactly 2 characters long and not more than 2 characters and begin with "nv"
lsmod | (e)grep '^nv????????????
I want to get all modules which are loaded and which name begin with "nv" and are 2 to 7 characters long
... (1 Reply)
Discussion started by: jcdole
1 Replies
9. UNIX for Dummies Questions & Answers
Hi,
I have a number of files containing the information below.
"""""
Fundallinfo
6.3950 14.9715 14.0482
"""""
I would like to grep for Fundallinfo and use it to read the next line? I ideally would like to read the three numbers that follow in the next line and... (2 Replies)
Discussion started by: Paul Moghadam
2 Replies
10. Shell Programming and Scripting
i have this line of code that looks for the same file if it is currently running and returns the count.
`ps -eaf -o args | grep -i sfs_pcard_load_file.ksh | grep -v grep | wc -l`
basically it is assigned to a variable
ISRUNNING=`ps -eaf -o args | grep -i sfs_pcard_load_file.ksh |... (6 Replies)
Discussion started by: wtolentino
6 Replies
LEARN ABOUT LINUX
git-merge-file
GIT-MERGE-FILE(1) Git Manual GIT-MERGE-FILE(1)
NAME
git-merge-file - Run a three-way file merge
SYNOPSIS
git merge-file [-L <current-name> [-L <base-name> [-L <other-name>]]]
[--ours|--theirs|--union] [-p|--stdout] [-q|--quiet] [--marker-size=<n>]
[--[no-]diff3] <current-file> <base-file> <other-file>
DESCRIPTION
git merge-file incorporates all changes that lead from the <base-file> to <other-file> into <current-file>. The result ordinarily goes into
<current-file>. git merge-file is useful for combining separate changes to an original. Suppose <base-file> is the original, and both
<current-file> and <other-file> are modifications of <base-file>, then git merge-file combines both changes.
A conflict occurs if both <current-file> and <other-file> have changes in a common segment of lines. If a conflict is found, git merge-file
normally outputs a warning and brackets the conflict with lines containing <<<<<<< and >>>>>>> markers. A typical conflict will look like
this:
<<<<<<< A
lines in file A
=======
lines in file B
>>>>>>> B
If there are conflicts, the user should edit the result and delete one of the alternatives. When --ours, --theirs, or --union option is in
effect, however, these conflicts are resolved favouring lines from <current-file>, lines from <other-file>, or lines from both
respectively. The length of the conflict markers can be given with the --marker-size option.
The exit value of this program is negative on error, and the number of conflicts otherwise. If the merge was clean, the exit value is 0.
git merge-file is designed to be a minimal clone of RCS merge; that is, it implements all of RCS merge's functionality which is needed by
git(1).
OPTIONS
-L <label>
This option may be given up to three times, and specifies labels to be used in place of the corresponding file names in conflict
reports. That is, git merge-file -L x -L y -L z a b c generates output that looks like it came from files x, y and z instead of from
files a, b and c.
-p
Send results to standard output instead of overwriting <current-file>.
-q
Quiet; do not warn about conflicts.
--diff3
Show conflicts in "diff3" style.
--ours, --theirs, --union
Instead of leaving conflicts in the file, resolve conflicts favouring our (or their or both) side of the lines.
EXAMPLES
git merge-file README.my README README.upstream
combines the changes of README.my and README.upstream since README, tries to merge them and writes the result into README.my.
git merge-file -L a -L b -L c tmp/a123 tmp/b234 tmp/c345
merges tmp/a123 and tmp/c345 with the base tmp/b234, but uses labels a and c instead of tmp/a123 and tmp/c345.
GIT
Part of the git(1) suite
Git 1.8.5.3 01/14/2014 GIT-MERGE-FILE(1)