How to cat a file , name starts with "-" ?

Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers How to cat a file , name starts with "-" ?
# 1  
Old 11-15-2003
How to cat a file , name starts with "-" ?

I have a question - beginning user, just learning unix.

I have a file that name starts with a hypen -, such as a name like :

-myfile (yes, I know shold not start files names like this, but this is the question I have to figure out, and its driving me nuts)

I know that this hyphen is like a special character.. right ? So how do I cat or more this file to see its contents when it is named like this ?

I've tried commenting the hyphen, such as :

cat '-'myfile and I have tried cat \-myfile with no success.

Advice appreciated.

::email removed::

Last edited by oombera; 02-19-2004 at 05:34 PM..
# 2  
Old 11-16-2003
I have tried cat \-myfile with no success.
so you said that this is a question you have to figure out.... a HOMEWORK question? this is not allowed here! \ looks like you tried to escape the '-'. your on the right track, why dont you try one more time.

# 3  
Old 11-16-2003

You need to let cat know that you aren't trying to feed it a flag. This can be done by using --

$ cat -- \-filename


Last edited by kduffin; 11-17-2003 at 10:28 PM..
# 4  
Old 11-16-2003
Found answer, thanks for help

Thanks for the help on this. I finally found ( or stumbled across) the answer by looking in the "man rm" , where it says that following the rm command with the "--" means it treats what follows that as a filename, allowing the filename to start with the hyphen.

Is the hyphen a "special character " ? I don't see it listed as such in the lists of special characters.....???
# 5  
Old 11-16-2003
Not a special character per say, but it is what is used to identify option flags at the CLI. -- is used to denote an end of all option flags. Congrats on having found the answer yourself before hand. I have always found great satisfaction in problem solving and creative thinking. UNIX and other such appendages provide a good playground for such activities.


Last edited by kduffin; 11-17-2003 at 10:28 PM..
# 6  
Old 11-17-2003

You can do cat ./-myfile as well.
# 7  
Old 11-17-2003
hehe i guess no one caught onto my hint...
Login or Register to Ask a Question

Previous Thread | Next Thread

9 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

Bash script: "mkdir -p" doesn't work with var(cat x)

Hello, :) I've an issue with the creation of a directory, All work without it :mad: So, below, my scripts with the debug output : #!/bin/bash # PATHS HOME_BACKUP="/home/backup" HOME_SCRIPT="/home/scripts/test/backup_server" TARGET="/var/www" # DATE DATE_Ymd=$(date +%Y-%m-%d) #... (1 Reply)
Discussion started by: Arnaudh78
1 Replies

3. Shell Programming and Scripting

Renaming a file that starts with "-"

Hi I am downloading some files from the Internet. They are from different sources and they are all called -.txt that is: a dash "-" followed by a dot "." and then the file extension. So i wrote a small script that hoped will downloads the first file and then rename them once they are... (10 Replies)
Discussion started by: faizlo
10 Replies

4. UNIX for Dummies Questions & Answers

Using "mailx" command to read "to" and "cc" email addreses from input file

How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address and column 3 contains “cc” e-mail address to include with same email. Sample input file, email.txt Below is an sample code where... (2 Replies)
Discussion started by: asjaiswal
2 Replies

5. Shell Programming and Scripting

Cat Command on File not printing "Blank" Lines?

Hello All, I have a bash script and in it at some point I call an Expect Script that does some stuff and saves its output in a ".txt" file. Example "/path/to/my/file/Expect_Output.txt" file: notice the 2nd line is empty in the file... Data for Host-1 ( Checking the... (2 Replies)
Discussion started by: mrm5102
2 Replies

6. 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

7. 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

8. UNIX for Dummies Questions & Answers

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

Hi Friends, Can any of you explain me about the below line of code? mn_code=`env|grep ""|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

9. UNIX for Dummies Questions & Answers

grep/cat/more -- search in a txt file and display content from a specific "keyword"

Hi, I have a .txt file Sample: ===================== NEXT HOST ===================== AEADBAS001 ip access-list extended BLA_Incoming_Filter ip access-list extended BLA_Outgoing_Filter access-list 1 permit xxxxxxxxxxxxxx access-list 2 permit xxxxxxxxxxxxxx =====================... (4 Replies)
Discussion started by: I-1
4 Replies
Login or Register to Ask a Question