Sponsored Content
Top Forums Shell Programming and Scripting Bash script - stripping away characters that can't be used in filenames Post 302322777 by mglenney on Thursday 4th of June 2009 02:36:28 PM
Old 06-04-2009
Quote:
Originally Posted by cfajohnson
However, to guarantee portability, filenames should only contain letters, number, hyphen, underscore and dot, and should not begin with a hyphen.
In this case the files being generated are containers for "previous run" search statistics that are located in /tmp. This script will not be ported and the files never copied off so it's not an issue.

That being said, I am working on some other stuff where it will matter and it will be important to keep this in mind. Thanks for the tip!
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

stripping leftmost characters from string

Hi there, if i have some strings ie test_324423 test_242332 test_767667 but I only want the number part (the bolded bit) how do I strip the leftmost 5 characters from the output so that i will have just 324423 242332 767667 any help would be greatly appreciated Gary (5 Replies)
Discussion started by: hcclnoodles
5 Replies

2. UNIX for Dummies Questions & Answers

[bash]Stripping lines from a list

Hello! I have a script that is (among other things) doing the following: list=/tmp/list1.txt ncftpls -u <user> -p <password> -x "-l1" server.domain.tld > $list cat $list | nl echo "Choose file: " read file cat /tmp/list1.txt | nl | grep $file | sed -e "s/$file//g" -e "s/ //g" | column -t... (8 Replies)
Discussion started by: noratx
8 Replies

3. Shell Programming and Scripting

stripping certain characters in at the middle of a string

I am trying to strip out certain characters from a string on both (left & right) sides. For example, line=see@hear|touch, i only want to echo the "hear" part. Well i have tried this approach: line=see@hear|touch templine=${line#*@} #removed "see@" echo ${templine%%\|*} #removed... (4 Replies)
Discussion started by: mcoblefias
4 Replies

4. Shell Programming and Scripting

Filenames created with '\r' characters at the end

Hi all, Am creating files and doing copy,compare and deletion. As i do not want to mention the filepath everywhere, i store the filepaths in variables. FILENAME="/home/test/create/Myfile.txt" WR_PATH="/home/test/wrie/writefile.txt" RD_PATH="/home/test/myread/readfile.txt" echo "This is my... (2 Replies)
Discussion started by: amio
2 Replies

5. Shell Programming and Scripting

Whitespace in filenames in for loop in bash script

I'm trying to search all .odt files in a directory for a string in the text of the file. I've found a bash script that works, except that it can't handle whitespace in the filenames. #!/bin/bash if ; then echo "Usage: searchodt searchterm" exit 1 fi for file in $(ls *.odt); do ... (4 Replies)
Discussion started by: triplemaya
4 Replies

6. Shell Programming and Scripting

Stripping characters from a variable

I'm using a shell script to get user input with this command: read UserInput I would then like to take the "UserInput" variable and strip out all of the following characters, regardless of where they appear in the variable or how many occurrences there are: \/":|<>+=;,?*@ I'm not sure... (5 Replies)
Discussion started by: nrogers64
5 Replies

7. Shell Programming and Scripting

Stripping characters from a file and reformatting according to another one

Dear experts, my problem is pretty tricky. I want to change a file (see attached input.txt), according to another file (help.txt). The output that is desired is in output.txt. The example is attached. Note that -dashes should not be treated specially, they are considered normal characters,... (2 Replies)
Discussion started by: TheTransporter
2 Replies

8. UNIX for Dummies Questions & Answers

find & remove characters in filenames

I have a group of files in different directories with characters such as " ? : in the file names. How do I find these files and remove these characters on mass? Thanks (19 Replies)
Discussion started by: barrydocks
19 Replies

9. Shell Programming and Scripting

How best to remove certain characters from filenames and folders recursively

hello, I'm trying to figure out which tool is best for recursively renaming and files or folders using the characters \/*?”<>| in their name. I've tried many examples that use Bash, Python and Perl, but I'm not much of a programmer I seem to have hit a roadblock. Does anyone have any... (15 Replies)
Discussion started by: prometheon123
15 Replies

10. Shell Programming and Scripting

Stripping unwanted characters in field

I wrote myself a small little shell script to clean up a file I have issues with. In particular, I am stripping down a fully qualified host/domain name to just the hostname itself. The script works, but from a performance standpoint, it's not very fast and I will be working with large data sets. ... (4 Replies)
Discussion started by: dagamier
4 Replies
addresses(5)							File Formats Manual						      addresses(5)

NAME
addresses - formats for Internet mail addresses INTRODUCTION
A mail address is a string of characters containing @. Every mail address has a local part and a domain part. The domain part is everything after the final @. The local part is everything before. For example, the mail addresses God@heaven.af.mil @heaven.af.mil @at@@heaven.af.mil all have domain part heaven.af.mil. The local parts are God, empty, and @at@. Some domains have owners. It is up to the owner of heaven.af.mil to say how mail messages will be delivered to addresses with domain part heaven.af.mil. The domain part of an address is interpreted without regard to case, so God@heaven.af.mil God@HEAVEN.AF.MIL God@Heaven.AF.Mil all refer to the same domain. There is one exceptional address that does not contain an @: namely, the empty string. The empty string cannot be used as a recipient address. It can be used as a sender address so that the real sender doesn't receive bounces. QMAIL EXTENSIONS
The qmail system allows several further types of addresses in mail envelopes. First, an envelope recipient address without an @ is interpreted as being at envnoathost. For example, if envnoathost is heaven.af.mil, the address God will be rewritten as God@heaven.af.mil. Second, the address #@[] is used as an envelope sender address for double bounces. Third, envelope sender addresses of the form pre@host-@[] are used to support variable envelope return paths (VERPs). qmail-send will re- write pre@host-@[] as prerecip=domain@host for deliveries to recip@domain. Bounces directly from qmail-send will come back to pre@host. CHOOSING MAIL ADDRESSES
Here are some suggestions on choosing mail addresses for the Internet. Do not use non-ASCII characters. Under RFC 822 and RFC 821, these characters cannot be used in mail headers or in SMTP commands. In prac- tice, they are regularly corrupted. Do not use ASCII control characters. NUL is regularly corrupted. CR and LF cannot be used in some combinations and are corrupted in all. None of these characters are usable on business cards. Avoid spaces and the characters "<>()[],;: These all require quoting in mail headers and in SMTP. Many existing mail programs do not handle quoting properly. Do not use @ in a local part. @ requires quoting in mail headers and in SMTP. Many programs incorrectly look for the first @, rather than the last @, to find the domain part of an address. In a local part, do not use two consecutive dots, a dot at the beginning, or a dot at the end. Any of these would require quoting in mail headers. Do not use an empty local part; it cannot appear in SMTP commands. Avoid local parts longer than 64 characters. Be wary of uppercase letters in local parts. Some mail programs (and users!) will incorrectly convert God@heaven.af.mil to god@heaven.af.mil. Be wary of the following characters: $&!#~`'^*|{} Some users will not know how to feed these characters safely to their mail programs. In domain names, stick to letters, digits, dash, and dot. One popular DNS resolver has, under the banner of security, recently begun destroying domain names that contain certain other characters, including underscore. Exception: A dotted-decimal IP address in brackets, such as [127.0.0.1], identifies a domain owned by whoever owns the host at that IP address, and can be used safely. In a domain name, do not use two consecutive dots, a dot at the beginning, or a dot at the end. This means that, when a domain name is broken down into components separated by dots, there are no empty components. Always use at least one dot in a domain name. If you own the mil domain, don't bother using the address root@mil; most users will be unable to send messages to that address. Same for the root domain. Avoid domain names longer than 64 characters. ENCODED ADDRESSES IN SMTP COMMANDS
RFC 821 defines an encoding of mail addresses in SMTP. For example, the addresses God@heaven.af.mil a"quote@heaven.af.mil The Almighty.One@heaven.af.mil could be encoded in RCPT commands as RCPT TO:<God@heaven.af.mil> RCPT TO:<a"quote@heaven.af.mil> RCPT TO:<The Almighty.One@heaven.af.mil> There are several restrictions in RFC 821 on the mail addresses that can be used over SMTP. Non-ASCII characters are prohibited. The local part must not be empty. The domain part must be a sequence of elements separated by dots, where each element is either a component, a sequence of digits preceded by #, or a dotted-decimal IP address surrounded by brackets. The only allowable characters in components are letters, digits, and dashes. Every component must (believe it or not) have at least three characters; the first character must be a let- ter; the last character must not be a hyphen. ENCODED ADDRESSES IN MAIL HEADERS
RFC 822 defines an encoding of mail addresses in certain header fields in a mail message. For example, the addresses God@heaven.af.mil a"quote@heaven.af.mil The Almighty.One@heaven.af.mil could be encoded in a To field as To: God@heaven.af.mil, <@brl.mil:"a"quote"@heaven.af.mil>, "The Almighty".One@heaven.af.mil or perhaps To: < "God"@heaven .af.mil>, "a"quote" (Who?) @ heaven . af. mil , God<"The Almighty.One"@heaven.af.mil> There are several restrictions on the mail addresses that can be used in these header fields. Non-ASCII characters are prohibited. The domain part must be a sequence of elements separated by dots, where each element either (1) begins with [ and ends with ] or (2) is a nonempty string of printable ASCII characters not including any of ".<>()[],;: and not including space. SEE ALSO
envelopes(5), qmail-header(5), qmail-inject(8), qmail-remote(8), qmail-smtpd(8) addresses(5)
All times are GMT -4. The time now is 02:54 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy