Replacing punctuation marks with the help of sed


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Replacing punctuation marks with the help of sed
# 8  
Old 08-27-2014
You do not need arrays, nor do you need external programs. You could also try:
Code:
#!/bin/bash
for file in *.pdf
do
  tofile=${file//[[:punct:]]/_}
  tofile=${tofile%_pdf}.pdf
  mv "$file" "$tofile"
done

Which should also speed up things.. Do note that there are double quotes around the file names, these are necessary since spaces are still allowed in the file name...
This User Gave Thanks to Scrutinizer For This Post:
# 9  
Old 08-27-2014
Quote:
Originally Posted by Scrutinizer
You do not need arrays, nor do you need external programs. You could also try:
Code:
#!/bin/bash
for file in *.pdf
do
  tofile=${file//[[:punct:]]/_}
  tofile=${tofile%_pdf}.pdf
  mv "$file" "$tofile"
done

Which should also speed up things.. Do note that there are double quotes around the file names, these are necessary since spaces are still allowed in the file name...
Thanks! that sounds swift, but can you explain me the stuff in {} because I would be able to learn by understanding. % sign...what it makes of it...please explain I am new to these.
rgs!
# 10  
Old 08-27-2014
Hi, those are parameter expansions.
This User Gave Thanks to Scrutinizer For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Adding text from a variable using sed (Or awk) with punctuation

Hi All, I would have though this would have been simple, but... I have text in a variable that I need to insert into a bunch of other files... The text is simple: ... (2 Replies)
Discussion started by: joeg1484
2 Replies

2. Shell Programming and Scripting

Replacing using sed

hi Guys, I have a rar file which consists of 10 files. each file has a space in its file name. how can i replace all spaces with _ i can replace them using sed but the thing is i need to replace using a script and not command. can anyone help me out??:confused: (2 Replies)
Discussion started by: rajeshb6
2 Replies

3. Shell Programming and Scripting

after sed command file shows '????' question marks

Hi All, I am trying to replace a string in a oracle LDT file file extension .ldt. I am using the following command: sed "s/Test Number Viewer/Test Number 1/g" TEST_LIEN_FORM.ldt > TEST_LIEN_FORM.ldt.tmp mv TEST_LIEN_FORM.ldt.tmp TEST_LIEN_FORM.ldt But after the command, the file... (2 Replies)
Discussion started by: veena484
2 Replies

4. Shell Programming and Scripting

grep ignoring punctuation

I have a file xxx.txt containing winter_kool sugar_"sweet" Is there anyway i can grep xxx.txt for strings without using punctuations. for eg: `grep sugarsweet xxx.txt` should give output : sugar_"sweet" (2 Replies)
Discussion started by: jack_gb
2 Replies

5. UNIX for Dummies Questions & Answers

Problems with deleting punctuation and apostrophes

Dear All, I have a file which I want to get the list of frequency of each word, ignoring list of stop words and now I have problems which punctuations and " 's ". what I am doing is: sed 's///g' file01.txt > file01-clear.txt cat file01-clear.txt | tr "" ""| tr ' ' '\012' |sort |uniq -c... (3 Replies)
Discussion started by: A-V
3 Replies

6. Shell Programming and Scripting

replacing by sed

hi my input file has got >,,,, or >, or >,,,,,, there are independent number of commas after >.... i want the o/p as > only that is just to remove "," after">" another is: i want to replace the last line of the file and to replace it by "hello"...how to do?... any nice script plz help (2 Replies)
Discussion started by: Indra2011
2 Replies

7. Shell Programming and Scripting

sed inside sed for replacing string

My need is : Want to change docBase="/something/something/something" to docBase="/only/this/path/for/all/files" I have some (about 250 files)xml files. In FileOne it contains <Context path="/PPP" displayName="PPP" docBase="/home/me/documents" reloadable="true" crossContext="true">... (1 Reply)
Discussion started by: linuxadmin
1 Replies

8. What is on Your Mind?

Names/nicknames for certain punctuation

I know that forward slash and backslash are "whack" and "backwhack," and I know that a pound-sign or number sign is "crunch" and an exclamation point, "bang." What I would like to know is whether or not there's a popular nickname for the dollar sign. I call it "cash," but that may just be Yank... (6 Replies)
Discussion started by: SilversleevesX
6 Replies

9. Shell Programming and Scripting

replacing using sed

its again sed question. i have line - sed "s/$old/$new/g" "$f" > $TFILE && mv $TFILE "$f" working well if old="myoldfile" new="mynewfile" but if i want old="/home/shailesh/1test/" new="/home/shailesh/workspace/" it gives error like sed: -e expression #1, char 9: unknown option to... (2 Replies)
Discussion started by: shailesh_arya
2 Replies

10. Shell Programming and Scripting

whacky punctuation dealies

Say I have a command that looks like this: host=$(/usr/bin/host xxx.xxx.xxx.xxx) What is the significance of the $() I know what happens when I don't include them, and I know what happens when I do, but... Why doo it woik wit $() Sorry for the lame question :o (3 Replies)
Discussion started by: [MA]Flying_Meat
3 Replies
Login or Register to Ask a Question