What is the use of back slash \ in piping?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting What is the use of back slash \ in piping?
# 8  
Old 12-05-2009

Remove the backticks and don't use cat:

Code:
grep "^[ ]*Jobstart time" inputfile_jobstart_grep | cut -f2 -d =

# 9  
Old 12-06-2009
Might not understand this correctly, but what keeps you from doing:

Code:
awk -F= '{print $NF}' <yourinputfile>

# 10  
Old 12-06-2009
Quote:
Originally Posted by somu_june

As Tene mentioned I'm using back slah "\" to remove special features associated with character like cat and equal sign character in file. But I'm getting below error.

Thanks,
Raju
btw, cat is not a character.
By characters I meant special ones used in unix commands like $,^,|,/ etc.
If you want to use any of these characters, not for its feature, you have to escate it using backslash.

Eg: $ is used to represent end of a line in unix.
But if you want to represent it as a normal character in a string you have to escape it with backslash, telling the shell interpreter that

"Hello Shell, Please dont give '$' any special meaning as you would;but its a normal character in my string"

Let me give you an example.

There is an input file like this.

XX|$$|YY
YY|$$|ZZ

%s/$/AA/g

This command will change the file as below
XX|$$|YYAA
YY|$$|ZZAA

because shell interpreted $ as end of line.
======================================================
%s/\$\$/AA/g
This command will change the file as below
XX|AA|YY
YY|AA|ZZ

because, you escaped $ . So shell will not interpret $ as end of file, but as a normal character.

Let me know if you have more doubts.
# 11  
Old 12-06-2009
Quote:
Originally Posted by tene
Eg: $ is used to represent end of a line in unix.

No, it isn't. It is used by some commands to represent the end of a line. It may also represent the end of a file.

Or it may represent nothing but itself, as in:

Code:
echo $

Or it may be the beginning of some form of expansion, as in:

Code:
printf "%s\n" "$HOME"  "$(( ${x:-3} + ${y:-2} ))"  $'\t\n'

Quote:
But if you want to represent it as a normal character in a string you have to escape it with backslash, telling the shell interpreter that

"Hello Shell, Please dont give '$' any special meaning as you would;but its a normal character in my string"

In some situations you might have to do that.
Quote:
Let me give you an example.

There is an input file like this.

XX|$$|YY
YY|$$|ZZ

%s/$/AA/g

This command will change the file as below

That is not a Unix command. It may be a command in some Unix application, but I have never seen it (perhaps it's vi?).

Without the percent sign, it could be a sed command.
Quote:
XX|$$|YYAA
YY|$$|ZZAA

because shell interpreted $ as end of line.

No, an individual command may interpret $ as end of line. Many will not.
# 12  
Old 12-06-2009
$ by itself has many meanings based on the context of usage.
I gave the meanings, based on the context of my example I provided.

btw, %s// is used in vi
# 13  
Old 12-06-2009
Quote:
Originally Posted by tene
$ by itself has many meanings based on the context of usage.

By itself it means only '$'.

In other contexts it means one of several different things.
# 14  
Old 12-06-2009
Mr Johnson,

Do you see anything wrong in the example I provided?
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Slash delimiter

I have a log file which on field $11 there is sth like: /A/B/C and I want to extract the last part which is C. for space delimiter I used: awk '{print $2 " " $5 ";" $7 ";" $9 ";" $11}' and had no problem. but dont know how to extract the 3rd part of the slash delimiter. That would be... (6 Replies)
Discussion started by: frhling
6 Replies

2. Shell Programming and Scripting

Using sed to append backward slash before forward slash

Hi all, I need to know way of inserting backward slash before forward slash. My problem is that i need to supply directory path as an argument while invoking cshell script. This argument is further used in script (i.e. sed is used to insert this path in some file). So i need to place \ in front... (2 Replies)
Discussion started by: sarbjit
2 Replies

3. UNIX for Advanced & Expert Users

Substitute single backward-slash with the double backward-slash

Hi, I have a path like this c:\test\sample\programs, i need to change thiis to c:\\test\\sample\\programs. How to perform this? I tried tr command but it didn't help me. Thanks Vijayan (3 Replies)
Discussion started by: mvictorvijayan
3 Replies

4. IP Networking

Back-to-Back Connection using HBAs

Hi every body, Is it possible to connect two servers Back-to-Back (Point-to-Point) using HBA adapters & using Fiber. Note it is direct connection & there is no switches between the servers. I'm concern about using HBA adapters, it is possible or not. Thanks in advance. :) (3 Replies)
Discussion started by: aldowsary
3 Replies

5. Shell Programming and Scripting

About \ (Back slash)

Hi All, print "path/executable_file parameters" \ > path/file1 print "path/executable_file parameters" \ > path/file2 print "path/executable_file parameters" \ > path/file3 chmod 775 path/file1 \ path/file2 \ ... (7 Replies)
Discussion started by: Arunprasad
7 Replies

6. Shell Programming and Scripting

Replace the last slash alone

Hi All, Can you please help me with the below issue. I want only the last slash to be replaced with space. 06/05/2008/EDED_FD_BDCD_ABCD_123 06/05/2008 EDED_FD_BDCD_ABCD_123 (3 Replies)
Discussion started by: christineida
3 Replies

7. AIX

back to back printing in UNIX

Hi , Can you suggest me how to back to back printing in UNIX? Is there any way? Kindly advise. Regards Vijaya Amirtha Raj (3 Replies)
Discussion started by: amirthraj_12
3 Replies

8. Shell Programming and Scripting

ftp username with back slash

Hi, My ftp user name is in the format US\tere I tried using escape characters US\\tere but it is not working fine please advice.. sam (1 Reply)
Discussion started by: sam99
1 Replies

9. Shell Programming and Scripting

awk slash

I have configuration file(master.cnf), that contents are: VER1LOG /src/ver1/log VER2LOG /src/ver2/log APPLOG /src/sys/apps/log APPCONF /src/sys/apps/conf APPBIN /src/sys/apps/bin my shell script is as below mylog=sys/apps awk "/$mylog/" master.cnf awk: syntax error Context is: >>> ... (6 Replies)
Discussion started by: McLan
6 Replies
Login or Register to Ask a Question