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?
# 8  
Old 04-22-2020
Quote:
Originally Posted by rogerben
am using csh
well, my condolences Smilie
you can adopt the ksh/bash approach to csh as well...
# 9  
Old 04-22-2020
Quote:
Originally Posted by vgersh99
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.
I asked about the bash version because rogerben said he got an error, which doesn't happen to me with the same code
To assign the value to a variable I use the backtick and it works. Taking up your code
Code:
a=`awk '$2=="jij" {print $3}' testfile`
echo "$a"

Quote:
Originally Posted by vgersh99
Also there's no need to use cat - awk is quite happy with reading the supplied file to read.
I know, I just replaced the grep of the rogerben code with cat
# 10  
Old 04-23-2020
am trying the below command but getting illegal variable in csh.
Code:
set a="$(awk -v v2s="${uid}" '$2==v2s {print $3}' testfile)"  -- where uid is the value of the user
echo "$a"

--- Post updated at 11:48 AM ---

if i replaced with other special characters its working fine only its not retrieving the value if there is a "*" in between the word.

Moderator's Comments:
Mod Comment
Please use proper CODE syntax for code portions.
Thanks!

Last edited by Peasant; 04-23-2020 at 09:42 AM..
# 11  
Old 04-23-2020
Quote:
Originally Posted by rogerben
am trying the below command but getting illegal variable in csh.
Code:
set a="$(awk -v v2s="${uid}" '$2==v2s {print $3}' testfile)"  -- where uid is the value of the user
echo "$a"

--- Post updated at 11:48 AM ---

if i replaced with other special characters its working fine only its not retrieving the value if there is a "*" in between the word.

Moderator's Comments:
Mod Comment
Please use proper CODE syntax for code portions.
Thanks!
I don't know what "other special characters" means and I am not csh-savvy, but the following seem to work

Code:
#!/bin/csh

set uid = 'jij'
set a = `awk -v v2s="${uid}" '$2==v2s {print $3}' testfile`
echo "a->$a"


Previous Thread | Next Thread
Test Your Knowledge in Computers #907
Difficulty: Easy
The Unix shell command line is a sequence of ASCII text words delimited by curly braces.
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