sed to remove 1st two characters every line of text file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting sed to remove 1st two characters every line of text file
# 15  
Old 06-08-2009
You are right

Quote:
Originally Posted by cfajohnson

Why two cuts? That's the same as:

Code:
cut -c3-6 file_name


Only if all the lines are exactly 8 characters long. The sed command will work on any length, or even variable length lines.
I assumed it was a constant length lines file. In this case you solution is the best one. Thanks for the headsup.

Best Regards
# 16  
Old 06-09-2009
Error

Hi all,

I've been through this post and found great.

I really like the logic of mr.cfajohnson.

I have a Query regarding this post with Mr.cfajohnson

Please help me in understanding this.


as you mentioned two commands

one for the case where you are removing the first two digits

Code:
sed 's/^..//' file1.txt > file2.txt

and secondly

Code:
sed -e 's/^..//' -e 's/..$//' file1.txt > file2.txt

to remove the last two lines


Now my query is,that while using the sed command, the [two dots] means removing two digits for either of the command. Please confirm


Also if I want to remove the first three digits would it be like

sed 's/^...//' file1.txt > file2.txt

Please Confirm.


Also as i am new to "sed" Plese do guide regarding

sed 's ===============> what does ('s) means here

Similarly,

sed -e ==============> what does (-e) means here.



Thanks in advance.

Replies from anyone is welcome.Smilie
# 17  
Old 06-09-2009
Code:
www.grymoire.com/Unix/Sed.html

# 18  
Old 06-09-2009
Thankz Panyam,

But a little description from anyone of you might help me.

Please try.
# 19  
Old 06-09-2009
The sed statement u specified

will replace the first three characters with the string u specified b/w "//" ( in this case it's nothing)

s-> will be used for searching

e-> to concat multiple sed expressions in a single sed line

Last edited by panyam; 06-09-2009 at 09:04 AM..
# 20  
Old 06-09-2009
Dear panyam,

thnkz a lot for tht.Smilie


it helped me out.Smilie

now please tell me if i want to remove the number from middle

wat changes will be made in this command

file1.txt contains data like

00957890
65948058
89259025
45009894
68409860
98695869
34320040
86598609

now i want the output that the middle two digits will be omitted from the output

and output should be

output.txt

009890
658058
899025
459894
689860
985869
340040
868609

what changes will be made in the sed command. Please be noted that the range is not static (i.e. 8) it may be 10, 11 or 6, 3.
# 21  
Old 06-09-2009
Quote:
Originally Posted by jojo123
now i want the output that the middle two digits will be omitted from the output

and output should be

output.txt

009890
658058
899025
459894
689860
985869
340040
868609

what changes will be made in the sed command. Please be noted that the range is not static (i.e. 8) it may be 10, 11 or 6, 3.

Use awk, not sed.

When the line length is an odd number, which two do you want to delete?

Code:
awk '{
  half = int(length($0) / 2 )
  printf "%s%s\n", substr($0,1,half - 1), substr($0,half + 2)
}'

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to remove new line characters from data rows in a Pipe delimited file?

I have a file as below Emp1|FirstName|MiddleName|LastName|Address|Pincode|PhoneNumber 1234|FirstName1|MiddleName2|LastName3| Add1 || ADD2|123|000000000 2345|FirstName2|MiddleName3|LastName4| Add1 || ADD2| 234|000000000 OUTPUT : ... (1 Reply)
Discussion started by: styris
1 Replies

2. Shell Programming and Scripting

sed to remove text from file

Trying to use sed to, in-place, remove specific text from a file. Since there are / in the text I use | to escape that character. Thank you :). sed -i -e 's|xxxx://www.xxx.com/xx/xx/xxx/.*/|' /home/cmccabe/list sed: -e expression #1, char 51: unterminated `s' command (4 Replies)
Discussion started by: cmccabe
4 Replies

3. Shell Programming and Scripting

I want to remove 1st and last two characters of each line of the file

I want to remove 1st and last two characters of each line of the file Ex: file1 zzfile1ee @xfile2:y qfile3>> @ file4yy and redirect to the file called new Basically file will have any charcter including space, spical character... Please help.... (7 Replies)
Discussion started by: shell1509
7 Replies

4. Shell Programming and Scripting

sed to remove partial text in one line only

I have test.xml XML file like <Report account="123456" start_time="2014-09-08T00:00:00+00:00" end_time="2014-09-10T23:59:59+00:00" user="Dollar Tree" limit="1000000" more_sessions="some text "> <Session ......rest of xml............... I need output like <Report> <Session ......rest of... (3 Replies)
Discussion started by: kumars1331@gmai
3 Replies

5. Shell Programming and Scripting

Remove all junk characters from a text file

I am using flatfile, in that flat file we are getting the junk chars 1)I21001f<82>^Me<85>!h49 Service Charge 2) I21001f‚ e...!h49 Service Charge please tell me how to remove all junk chars in unix scripts. (1 Reply)
Discussion started by: Talari
1 Replies

6. UNIX Desktop Questions & Answers

Remove new line characters from a file

I tried using below command tr -cd "" < InputFile.xml > output.txt ============= This removes all the tabs/newline/extra spaces from a file it successfully removed all the extra spaces,tabs and new line characters but then the complete file become one record. I want to retain one new line... (1 Reply)
Discussion started by: saini
1 Replies

7. UNIX for Advanced & Expert Users

Sed - add text to start of line if 1st char anything but space

Problem: I have a lot of files, the files first line should always have 4 spaces before any text. Occasionally some of the files will miss the leading spaces and it's a problem. This is only in the first line. So if there are 4 spaces then text, do nothing. If there are not 4 spaces, add 4... (2 Replies)
Discussion started by: Vryali
2 Replies

8. Shell Programming and Scripting

Remove special characters from text file

Hi All, i am trying to remove all special charecters().,/\~!@#%^$*&^_- and others from a tab delimited file. I am using the following code. while read LINE do echo $LINE | tr -d '=;:`"<>,./?!@#$%^&(){}'|tr -d "-"|tr -d "'" | tr -d "_" done < trial.txt > output.txt Problem ... (10 Replies)
Discussion started by: kkb
10 Replies

9. Shell Programming and Scripting

sed to remove last 2 characters of txt file

sed 's/^..//' file1.txt > file2.txt this will remove the first two characters of each line of a text file, what sed command will remove the last two characters? This is a similar post to my other....sry if I'm being lazy.... I need a file like this (same as last post) >cat file1.txt 10081551... (1 Reply)
Discussion started by: ajp7701
1 Replies

10. Shell Programming and Scripting

sed remove last 10 characters of a line start from 3rd line

hello experts, I need a sed command that remove last 10 characters of a line start from 3rd line. any suggestions? Thanks you (7 Replies)
Discussion started by: minifish
7 Replies
Login or Register to Ask a Question