Removing special characters


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Removing special characters
# 1  
Old 04-29-2010
Removing special characters

Dear Friends,
I want to remove text between two patters.
Problem is, it has random special characters like \ / | * ` ~ ! $ etc.
These random special characters has no fixed length. But these special characters are appearing between a fixed pattern

e.g.
DM&^%#|#!\/?CT

Expected output
DMCT
So in short, I want to remove everything including "Spaces" appearing between DM and CT .

Little challenging as length is not fixed of special characters.
Please guide me.
Thank you in anticipation
Anushree
# 2  
Old 04-29-2010
Doesn't look that challenging, assuming everything might includes DM and CT too:
Code:
sed 's/DM.*CT/DMCT/'

eg:
Code:
$ echo "qwertyDM&^%#|#!\/?CTabc" | sed 's/DM.*CT/DMCT/'
qwertyDMCTabc
$ echo "qwertyDM&^%#|#!\/?CTthis will be removed tooCTabc" | sed 's/DM.*CT/DMCT/'
qwertyDMCTabc

# 3  
Old 04-29-2010
Hi,

Try this,

Code:
#!/usr/bin/perl


$str='DM&^%#|#!\/?CT';

$str =~ s/(\w+)(.+?)(\w+)/$1$3/;

print $str,"\n";

# 4  
Old 04-29-2010
Hi Jlliagre and Pravin,
Thank you for both the suggestions. I have tried both. However its not working may be because these special characters also contain *
so Its not removing instances like follows

e.g.
DM**&^*$#)(*CT

Please suggest.
# 5  
Old 04-29-2010
Hi,

Its works fine for me with the new input.

Code:
#!/usr/bin/perl


#$str='DM&^%#|#!\/?CT';

$str='DM**&^*$#)(*CT';
$str =~ s/(\w+)(.+?)(\w+)/$1$3/;

print $str,"\n";

# 6  
Old 04-29-2010
try this

using sed command

Code:
cat file | sed 's/\[[]!@#$%^&\*(){}",.><~`\]*//g' | sed "s/'*//g" > file.nospecialchar

using tr command

Code:
/usr/bin/tr -d '[:punct:]' < file > file.nospecialchar

# 7  
Old 04-29-2010
Code:
[root@sistem1lnx /]# cat file
DM&^%#|#!**&^*$#)(*\/?\/|*`~!$&^%#|#!\/?CT

[root@sistem1lnx /]# sed 's/[[:punct:]][[:punct:]]*//g' file
DMCT


Code:
sed 's/[[:punct:]][[:punct:]]*//g' file

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Removing special ^M charecters

Hi, This code works for me for file in $(find /path/to/dir -type f); do tr -d '\r' <$file >temp.$$ && mv temp.$$ $file done However, i want this code to skip all .class files. Can you help me with the modified code. (2 Replies)
Discussion started by: mohtashims
2 Replies

2. Shell Programming and Scripting

Removing blank/white spaces and special characters

Hello All , 1. I am trying to do a task where I need to remove Blank spaces from my file , I am usingawk '{$1=$1}{print}' file>file1Input :- ;05/12/1990 ;31/03/2014 ; Output:- ;05/12/1990 ;31/03/2014 ;This command is not removing all spaces from... (6 Replies)
Discussion started by: himanshu sood
6 Replies

3. Linux

File conversion and removing special characters from a file in Linux

I have a .CSV file when I check for the special characters in the file using the command cat -vet filename.csv, i get very lengthy lines with "^@", "^I^@" and "^@^M" characters in between each alphabet in all of the records. Using the code below file filename.csv I get the output as I have a... (2 Replies)
Discussion started by: dhruuv369
2 Replies

4. Shell Programming and Scripting

Removing special characters - Control M

I have developed a small script to remove the Control M characters that get embedded when we move any file from Windows to Unix. For some reason, its not working in all scenarios. Some times I still see the ^M not being removed. Is there anything missing in the script: cd ${inputDir}... (7 Replies)
Discussion started by: vskr72
7 Replies

5. Shell Programming and Scripting

Replace special characters with Escape characters?

i need to replace the any special characters with escape characters like below. test!=123-> test\!\=123 !@#$%^&*()-= to be replaced by \!\@\#\$\%\^\&\*\(\)\-\= (8 Replies)
Discussion started by: laknar
8 Replies

6. UNIX for Dummies Questions & Answers

awk for removing special characters and extra commas

Hi, I have a .csv file which as empty lines with comma and some special characters in 3rd column as below. Source data 1,2,3,4,%#,6 ,,,,,, 1,2,3,4,5,6 Target Data 1,2,3,4,5,6I need to remove blank lines and special charcters I am trying to get this using the below awk awk -F","... (2 Replies)
Discussion started by: shruthidwh
2 Replies

7. Solaris

removing special characters, white spaces from a field in a file

what my code is doing, it is executing a sql file and the resullset of the query is getting stored in the text file in a fixed format. for that fixed format i have used the following code:: Code: awk -F":"... (2 Replies)
Discussion started by: priyanka3006
2 Replies

8. AIX

Removing a filename which has special characters passed from a pipe with xargs

Hi, On AIX 5200-07-00 I have a find command as following to delete files from a certain location that are more than 7 days old. I am being told that I cannot use -exec option to delete files from these directories. Having said that I am more curious to know how this can be done. an sample... (3 Replies)
Discussion started by: jerardfjay
3 Replies

9. Shell Programming and Scripting

removing special characters @ EOL

How to remove special chracters @ END OF EACH LINE in a file file1.txt: 0003073413^M 0003073351^M 0003073379^M 0003282724^M 0003323334^M 0003217159^M 0003102760^M 0002228911^M I used the below command but it is not working ? perl -pi -e 's/^M\/g' file1.txt (6 Replies)
Discussion started by: ali560045
6 Replies

10. Shell Programming and Scripting

Removing special characters in file

I have file special.txt with the following data. <header info> 123$ty5%98&0asd 1@356fgbv78 09*&^5jkns43( ...........some more rows. In my output file, I want to eliminate all the special characters in my file and I want all other data. need some help. (6 Replies)
Discussion started by: srivsn
6 Replies
Login or Register to Ask a Question