Formatting file data to another file (control character related)
I have to write a program to read data from files and then format into another file. However, I face a strange problem related to control character that I can't understand and solve.
The source file is compose of many lines with such format:
Expected formatted output is:
The problem happens when I have such a test case in source file:
The file output:
I know there is some problem when cutting fields, but no idea how to fix it. Can anybody help with this?
I am using kshell.
Moderator's Comments:
edit by bakunin: please use CODE-tags not only for code but also for screen output, file content and similar text. Thank you.
I suppose the problem being the "echo" statement. It is fed the content of the variable "$line" and interprets it. "\n" and "\t" in your example are control characters, though. "\n" is "newline", "\t" is tab.
Anyhow, your implementation isn't all too good anyway, because you use several commands and a pipeline to do what shell exansion could do too - at considerably less computing costs:
Change your code accordingly and it should not only work but run faster too.
An independent observation: DO NOT use backticks any more. They are deprecated and the shell only understands them for backward compatibility issues. Use the modern "$(...)" instead, which is a lot more flexible, can be nested, can be quoted, ...
Another hint: in case you write for Korn shell you might consider using file descriptors instead of redirection. Instead of:
I don't know if the code is incorrect or my working environment does not support shell expansion.
Anyway, using file descriptors instead of redirection is new to me.
Thanks to Lem, the lower one is what I want.
Thanks to bakunin and Lem for quick reply.
Hello,
I have a file with the below contents :
Policy Name: Backup_bkp
Policy Type: Catalog_bkp
Active: yes
Effective date: 08/07/2013 02:02:12
Mult. Data Streams: no
Client Encrypt: no
Checkpoint: no
Policy Priority: ... (11 Replies)
Hi All,
i have a requirement where i need to format the input RAW file ( which is CSV) by using another mapping file(also CSV file). basically i am getting feed file with dynamic headers by using mapping file (in that target field is mapped with source filed) i have to convert the raw file into... (6 Replies)
in a file we are getting control character in a file , is there any way that they can be removed once we have the file
for eg.
BEGIN-PROCEDURE INITIALIZE
^M
LET #row_count = 0^M
^M
^M (2 Replies)
In a 10-50GB file , at end of file there is Control-z character
tried the below options,
1. perl -p -i -e 's/^Z//g' new.txt
2. perl -0777lwi -032e0 new.txt
and Sed command, dos2unix etc
it takes more time to remove the control-z. need a command or perl program to GO TO LAST LINE OF FILE ... (7 Replies)
I am getting error when loading data file using ctl file. I get this error only when there is special character.
Below is some data.
DataFile=>
company_id|ciu_id|english_name|iso_country_code|active|partner_name
1-2JT-122||Expert Järvenpää|FI|A|Expert Järvenpää
Control File=>
LOAD DATA... (1 Reply)
Hi,
I have one file, say file 1, that has data like below where 19900107 is the date,
19900107 12 144 129 0.7380047
19900108 12 168 129 0.3149017
19900109 12 192 129 3.2766666E-02
... (3 Replies)
can any one say about command to find "^M" (Control M)characters in a unix text file.
^M comes when a file ftped from windows to unix without using bin mode.
I need the command to find lik this,
ex.txt:
------------------------------
...,name,time^M
go^M
...file,end^M... (5 Replies)
Hi All,
I am very new to Shell scripting...
I got a requirement.
I will have few text files(data files) in a particular directory. they will be with .txt extension. With same name, but with a different extension control files also will be there. For example, Sample_20081001.txt is the data... (4 Replies)
Hi All,
I am looking for a solution to capture any ASCII control character in a file
( where the ASCII control character is in decimal value from 0 to 31 and 127
( Hex value from 00 to 1F and 7F ) ) by returning any affected lines.
The intended good file should contain "ASCII printable... (5 Replies)