Start the line only with numbers


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Start the line only with numbers
# 1  
Old 08-13-2012
Start the line only with numbers

hi,

I need some unix command to replace the following thing. The line shuld start with oly numbers. If it starts with anything other than number it shuld be taken back to the last line.

My file:

Code:
1234|test
weye|test1|break
576|test|break|title
2369|test|line|break
tite|break
234589|test|like|break

Output should be like below:
Code:
1234|testweye|test1|break
576|test|break|title
2369|test|line|breaktite|break
234589|test|like|break


Last edited by Scott; 08-13-2012 at 04:28 AM.. Reason: Code tags
# 2  
Old 08-13-2012
Bug try this.....

Code:
awk 'END{print RS} /^[0-9]/{if(NR>1)print RS}1' ORS=

This User Gave Thanks to pamu For This Post:
# 3  
Old 08-13-2012
If the input file is not huge, this should work:
Code:
sed -n 'H;${;g;s/^\n//;s/\n\{1,\}\([^[:digit:]]\)/\1/g;p;}' infile


Last edited by elixir_sinari; 08-13-2012 at 04:57 AM..
# 4  
Old 08-13-2012
Quote:
Originally Posted by pamu
Code:
awk 'END{print RS} /^[0-9]/{if(NR>1)print RS}1' ORS=


i am getting the following error:
Code:
awk 'END{print RS} /^[0-9]/{if(NR>1)print RS}1' ORS= AOTSIncdt_tckt_latest3.txt
awk: syntax error near line 1
awk: bailing out near line 1

---------- Post updated at 12:54 PM ---------- Previous update was at 12:53 PM ----------

Code:
$ sed -n 'H;${;g;s/^\n//;s/\n\([^[:digit:]]\)/\1/g;p;}' infile
1234|test
weye|test1|break
576|test|break|title
2369|test|line|break
tite|break
234589|test|like|break

I dont get the desired output.. nothing changed.. please help

Last edited by Scott; 08-13-2012 at 04:29 AM.. Reason: Code tags
# 5  
Old 08-13-2012
Quote:
Originally Posted by anshaa
$ sed -n 'H;${;g;s/^\n//;s/\n\([^[:digit:]]\)/\1/g;p;}' infile
1234|test
weye|test1|break
576|test|break|title
2369|test|line|break
tite|break
234589|test|like|break

I dont get the desired output.. nothing changed.. please help
You need to replace infile with the name of your input file...

And for the awk solution, use nawk instead of awk.
# 6  
Old 08-13-2012
Code:
nawk 'END{print RS} /^[0-9]/{if(NR>1)print RS}1' ORS= filename > filename1

Works perfectly.

Last edited by Scott; 08-13-2012 at 06:34 AM.. Reason: Code tags
# 7  
Old 08-13-2012
This is working as expected...

Code:
$ cat temp_test
1234|test
weye|test1|break
576|test|break|title
2369|test|line|break
tite|break
234589|test|like|break

$ awk 'END{print RS} /^[0-9]/{if(NR>1)print RS}1' ORS= temp_test
1234|testweye|test1|break
576|test|break|title
2369|test|line|breaktite|break
234589|test|like|break

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Printing string from last field of the nth line of file to start (or end) of each line (awk I think)

My file (the output of an experiment) starts off looking like this, _____________________________________________________________ Subjects incorporated to date: 001 Data file started on machine PKSHS260-05CP ********************************************************************** Subject 1,... (9 Replies)
Discussion started by: samonl
9 Replies

2. Shell Programming and Scripting

How to remove part of the line from start of the line?

Hello, I am java command from a shell script which will generate the below output on the command prompt signature Base64 :... (10 Replies)
Discussion started by: chetanojha
10 Replies

3. UNIX for Dummies Questions & Answers

How can I replace the lines that start with a star and replace it with numbers start from 1?

I need to replace the (*) in the fist of a list with numbers using sed for example > this file contain a list * linux * computers * labs * questions to >>>> this file contain a list 1. linux 2. computers 3. labs 4. questions (7 Replies)
Discussion started by: aalbazie
7 Replies

4. Shell Programming and Scripting

Reading line by line from live log file using while loop and considering only those lines start from

Hi, I want to read a live log file line by line and considering those line which start from time stamp; Below code I am using, which read line but throws an exception when comparing line that does not contain error code tail -F /logs/COMMON-ERROR.log | while read myline; do... (2 Replies)
Discussion started by: ketanraut
2 Replies

5. Shell Programming and Scripting

Generate Codes based on start and End values of numbers in a column

Hello All, Could you please help with this. This is what I have: 506234.222 2 506234.222 2 506234.222 2 506234.222 2 508212.200 2 508212.200 2 333456.111 2 333456.111 2 333456.111 2 333456.111 2 But this is what I want: 506234.222 1 506234.222 2 506234.222 2 506234.222 3 (5 Replies)
Discussion started by: canimba
5 Replies

6. Shell Programming and Scripting

How to start reading from the nth line till the last line of a file.

Hi, For my reuirement, I have to read a file from the 2nd line till the last line<EOF>. Say, I have a file as test.txt, which as a header record in the first line followed by records in rest of the lines. for i in `cat test.txt` { echo $i } While doing the above loop, I have read... (5 Replies)
Discussion started by: machomaddy
5 Replies

7. Shell Programming and Scripting

Assign Line Numbers to each line of the file

Hi! I'm trying to assign line numbers to each line of the file for example consider the following.. The contents of the input file are hello how are you? I'm fine. How about you? I'm trying to get the following output.. 1 hello how are you? 2 I'm fine. 3 How about you? ... (8 Replies)
Discussion started by: abk07
8 Replies

8. UNIX for Advanced & Expert Users

Add line numbers to end of each line

Hi i would like to add line numbers to end of each line in a file. I am able to do it in the front of each line using sed, but not able to add at the end of the file. Can anyone suggest The following code adds line number to start of each line sed = filename | sed 'N;s/\n/\t/' how can i... (5 Replies)
Discussion started by: rudoraj
5 Replies

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

10. UNIX for Dummies Questions & Answers

inserting uniq sequential numbers at the start of the file

Hi Unix gurus, I have a file. I need to insert sequential number at the starting of the file. Fields are delimited by "|". I know the starting number. Example: File is as follows |123|4test|test |121|2test|test |x12|1test|test |vd123|5test|test starting number is : 120 ... (7 Replies)
Discussion started by: jingi1234
7 Replies
Login or Register to Ask a Question