awk If expression - Return string if not true


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers awk If expression - Return string if not true
# 8  
Old 08-19-2015
Quote:
Originally Posted by RudiC
For your problem in post#3, drop the f++ in the print statement. (In fact, you could drop everything from it as an print on its own will print $0, which is the entire line)
The point was that mmab wants to use the same script with both input files to get either a list of matched files or to get a single line of output saying there were no matches.

The code I suggested to start with had print on one line and f++ (which could have also been f = 1 or, with a slight modification to the end section, f = "found") to indicate that a match had been found. The END section then uses the value of f to determine whether or not a match was found so it can print No Duplicates if and only if no matches were found.

So, when converting:
Code:
	print
	f++

from my suggestion in post #2 in this thread into a single line script, mmab needed to add a semicolon print; f++ instead of just throwing away the newline that separated those two statements.

My point, (stated much too tersely at 3 o'clock in the morning local time), was that awk beginners should concentrate on writing easy to read code and NOT worry about making everything fit onto a single line. And, that it would be a good idea to at least try a multi-line suggestion as given before stating that an "improved version" of it doesn't work correctly. If mmab had tried the suggestion I provided before changing it, I'm sure he would much more quickly have figured out what was wrong with the modified code.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk evaluating a string as a math expression

Hi, I am writing a script in awk trying to replace strings that are math expressions with their result. For example, I have a file that looks like this: 5-1 32/8-1 4*12 17+1-3 I would like to get the following output: 4 3 48 15 I tried doing it the following way (using the "bc"... (8 Replies)
Discussion started by: avi.levi
8 Replies

2. Shell Programming and Scripting

String regular expression

Hi, temp="/usr=25,/usr/lib=12" How to get only dir names with out values. I tried like below but no use. tmp=${temp##*,} echo $tmp o/p: /usr/lib=12 expected o/p: /usr /usr/lib ---> in array (13 Replies)
Discussion started by: munna_dude
13 Replies

3. Shell Programming and Scripting

sed or awk command to replace a string pattern with another string based on position of this string

here is what i want to achieve... consider a file contains below contents. the file size is large about 60mb cat dump.sql INSERT INTO `table1` (`id`, `action`, `date`, `descrip`, `lastModified`) VALUES (1,'Change','2011-05-05 00:00:00','Account Updated','2012-02-10... (10 Replies)
Discussion started by: vivek d r
10 Replies

4. Shell Programming and Scripting

How can awk search a string without using regular expression?

Hello, Awk seem treat the pattern as regular expression, how can awk search not using regular expression? e.g. just represent for "", not "A" or "a" . I don't want to add backslash . (2 Replies)
Discussion started by: 915086731
2 Replies

5. Shell Programming and Scripting

Grep with regulare expression to find carrige return

Gurus, I have a files from where lines are like following <ns0:ccid>123456789</ns0:ccid> <ns0:ccid>1234 56789</ns0:ccid> I would like to grep any number which will be as below (with carrige return): As 123456789 any number so I have to use the regular expression <ns0:ccid>1234... (3 Replies)
Discussion started by: thepurple
3 Replies

6. Shell Programming and Scripting

How to return a string?

function blah { return "string" } it keeps saying string: not found How can i do this guys? Because I'm trying to do something like this function print_daemon_options { echo "Start Daemons - Please enter one or a combination of the following:" if isDatasubEnabled &&... (11 Replies)
Discussion started by: pyscho
11 Replies

7. UNIX for Dummies Questions & Answers

Proper Expression To Not Include A String...

I have a folder of scripts: bash:/folderpath/> ls beginFile.sh beginFileBackup.sh beginAnother.sh beginAnotherBackup.sh beginJunk.sh beginJunkBackup.sh I'd like to be able to call just one (beginFile.sh) using this type of scheme: #Run the beginFile script without the word "Backup" in... (1 Reply)
Discussion started by: mrwatkin
1 Replies

8. Shell Programming and Scripting

validate a string against a regular expression

Hi there i have a script which will create unix user accounts. Id like to validate the entered string so that it is specifically 8 characters or less and consists of only ! not Is there a way to validate a string against a regular expression.. i.e size=`printf "$var | wc -m` ... (1 Reply)
Discussion started by: hcclnoodles
1 Replies

9. Shell Programming and Scripting

return string in functions

Hi friends I need to return string value in functions can anyone help me out to return string values rather than integer. #!/bin/bash add_a_user() { USER=$1 COMPANY=$2 shift; shift; echo "Adding user $USER ..." echo "$USER working in $COMPANY ..." ret_type=YES return... (1 Reply)
Discussion started by: kittusri9
1 Replies

10. Shell Programming and Scripting

deleting 'carriage return' from string

hi there I'm getting a string from a sqlplus query, and I need to compare it with another string Problem here, is that the string i get from query brings a 'carriage return' with it, and comparing throws always false value. i need to delete all carriage retun charactres in string. how... (6 Replies)
Discussion started by: viko
6 Replies
Login or Register to Ask a Question