Visit Our UNIX and Linux User Community


How to escape "*" using awk inside script?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to escape "*" using awk inside script?
# 1  
Old 04-22-2020
How to escape "*" using awk inside script?

Hi , I have a file with the below contents like serialno, userid and password. When am trying to fetch column 3 using awk its working except for the user id jij due to the password having "*" in between. How to retrieve the password.

Code:
cat testfile
1 abc bnmj134
2 fff u7Tdff
3 jij Qm6Pn*w


Code:
a=`grep jij testfile|awk '{print $3}'`

echo $a --> not giving output and showing error as echo : No match
Note: for other user id giving the correct output and if i remove the "*" from the password its retrieving Qm6Pnw .

Moderator's Comments:
Mod Comment Please do wrap your samples/codes in CODE TAGS as per forum rules.

Last edited by RavinderSingh13; 04-22-2020 at 11:22 AM..
# 2  
Old 04-22-2020
you probably have a file named Qm6Pnw in the direfctory you're running these commands in.
try:
Code:
a="$(awk '$2=="jij" {print $3}' testfile)"
echo "$a"

# 3  
Old 04-22-2020
actually the column 2 value is not constant and it will vary based on different ids, so cant check with that particular id . Need to get the value if i fetched the userid and corresponding password
# 4  
Old 04-22-2020
Hi, i tried in bash mode:
Code:
cat testfile | awk '{print $2 " - " $3}'

Output:
Code:
abc - bnmj134
fff - u7Tdff
jij - Qm6Pn*w

What bash version are you using?

Last edited by RavinderSingh13; 04-22-2020 at 01:01 PM..
# 5  
Old 04-22-2020
Quote:
Originally Posted by rogerben
actually the column 2 value is not constant and it will vary based on different ids, so cant check with that particular id . Need to get the value if i fetched the userid and corresponding password
ok, still no need for grep.
Code:
val2search='jij'

a="$(awk -v v2s="${val2search}" '$2==v2s {print $3}' testfile)"
echo "$a"

# 6  
Old 04-22-2020
Quote:
Originally Posted by charlesep
Hi, i tried in bash mode:
Code:
cat testfile | awk '{print $2 " - " $3}'

Output:
abc - bnmj134
fff - u7Tdff
jij - Qm6Pn*w

What bash version are you using?
it's not a matterof the shell version. It's a matter of using double-quotes when doing var assignment and (more importantly) when echo-ing the variable value.
See my initial response with colored double-quotes.

Also there's no need to use cat - awk is quite happy with reading the supplied file to read.
# 7  
Old 04-22-2020
am using csh

Previous Thread | Next Thread
Test Your Knowledge in Computers #456
Difficulty: Easy
An application programming interface (API) is a graphical-based interface for viewing client-server data.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies

2. Shell Programming and Scripting

How to increment date using "for loop" in format MMDDYY inside the shell script?

Need to increment the date from "currentdate + 90days" inside the for loop (i=1 to i=50) (5 Replies)
Discussion started by: aroragaurav.84
5 Replies

3. Shell Programming and Scripting

Passing username and password to a script running inside "expect" script

Hi I'm trying to run a script " abc.sh" which triggers "use.sh" . abc.sh is nothing but a "expect" script which provides username and password automatically to the use.sh script. Please find below the scripts: #abc.sh #!/usr/bin/expect -f exec /root/use.sh expect "*name*" send... (1 Reply)
Discussion started by: baddykam
1 Replies

4. Shell Programming and Scripting

how to use "cut" or "awk" or "sed" to remove a string

logs: "/home/abc/public_html/index.php" "/home/abc/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" how to use "cut" or "awk" or "sed" to get the following result: abc abc xyz xyz xyz (8 Replies)
Discussion started by: timmywong
8 Replies

5. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

6. Shell Programming and Scripting

Awk to Search and Replace inside the pipe "|"

Hi, Anyone can help me on how to replace the qoutes inside the pipe | in my Text File like belows; "AAAA"|"Test "1-A""|"Test AAAA"|"This is A" "BBBB"|"Test "1-B""|"Test BBBB"|"This is B" "CCCC"|"My Test C"|"Test "CCCC""|"This is C" The output I need like belows; "AAAA"|"Test 1-A"|"Test... (12 Replies)
Discussion started by: fspalero
12 Replies

7. Shell Programming and Scripting

Simplify Bash Script Using "sed" Or "awk"

Input file: 2 aux003.net3.com error12 6 awn0117.net1.com error13 84 aux008 error14 29 aux001.ha.ux.isd.com error12 209 aux002.vm.ux.isd.com error34 21 alx0027.vm.net2.com error12 227 dux001.net5.com error123 22 us008.dot.net2.com error121 13 us009.net2.com error129Expected Output: 2... (4 Replies)
Discussion started by: sQew
4 Replies

8. Shell Programming and Scripting

cat $como_file | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g'

hi All, cat file_name | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g' Can this be done by using sed or awk alone (4 Replies)
Discussion started by: harshakusam
4 Replies

9. Solaris

Solaris escape my script from "-" to "/226"

Hello everyone. I beg your guys pardon please. I try to ls -al in many path/directories. So, I put the code in text file which look like below; ls -al / ls -al /etc ls -al /etc/default ... however, when I paste it to Solaris over SecureCRT, it seems the code was escaped from "-" to... (0 Replies)
Discussion started by: Smith
0 Replies

10. UNIX for Dummies Questions & Answers

Explain the line "mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`"

Hi Friends, Can any of you explain me about the below line of code? mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'` Im not able to understand, what exactly it is doing :confused: Any help would be useful for me. Lokesha (4 Replies)
Discussion started by: Lokesha
4 Replies

Featured Tech Videos