Parsing a linux file and formatting it.


 
Thread Tools Search this Thread
Operating Systems Linux Red Hat Parsing a linux file and formatting it.
# 8  
Old 01-29-2011
Quote:
Originally Posted by charithainfadev
Hi, Can you please explain me the code? When I wrote this code, and give the nawk command on command line it is saying "command not found"
The code doesn't seem to be unix or linux code! I am not sure but I think "sprintf" is c or c++ code (sorry if I am wrong). Its not working! Can we do this using shell scripting? Control C is a single character. It can be typed on the command line by pressing control+v first followed by control+c. Just FYI, I am working on linux platform.
Try using awk or gawk (instead of nawk).
This User Gave Thanks to vgersh99 For This Post:
# 9  
Old 01-29-2011
Quote:
Originally Posted by DGPickett
Code:
sed '
  /|$/d
  s/^C$//
  t n
  :n
  s/^\(\([^|]*|\)[^^C]*\)^C/\1\
\2/
  t p
  b
  :p
  P
  s/.*\n//
  t n
 '

nice. However, this guy is totally clueless about unix/linux scripting. I don't think even after your explanation of what it does, he will understand sed's terse syntax. The closest one can get, at least know what is going on , is using a tool/language with syntax meant for "human readability" (awk/Python/Ruby etc ...comes to mind).
# 10  
Old 01-29-2011
Quote:
Try using awk or gawk (instead of nawk).
It is throwing the following error with both awk and gawk. Is it unix code only? Sorry if the question sounds stupid! I am wondering if it is c++ code or unix code.

Code:
awk: char.awk:3:   =sprintf("%c", 003)
awk: char.awk:3:   ^ invalid char '' in expression

Some how I want this to be working by today Smilie Please help!
# 11  
Old 01-29-2011
Please repost (using the code tags) the content of your script exactly as-is AND the way you call/execute it.
Make sure you don't have ^M-s in your script.

The script works fine under Solaris and AiX.

Last edited by vgersh99; 01-29-2011 at 10:28 AM..
This User Gave Thanks to vgersh99 For This Post:
# 12  
Old 01-29-2011
Code:
BEGIN {
  FS=OFS="|"
  ^C=sprintf("%c", 003)
}
{
  sub("^[|]","")
  sub(^C "$","")
  while (n=index($0, ^C))
     $0=substr($0, 1, n-1) ORS $1 OFS substr($0, n+1)
  print
}

Code:
 gawk -f char.awk test8.out

or
Code:
 awk -f char.awk test8.out

And it throws the following error
Code:
gawk: char.awk:3:   =sprintf("%c", 003)
gawk: char.awk:3:   ^ invalid char '' in expression

---------- Post updated at 09:43 AM ---------- Previous update was at 09:42 AM ----------

May be in red hat linux, some changes have to be made?
# 13  
Old 01-29-2011
This is not the code I posted.
Repaste what's been posted originally without any modifications.
This User Gave Thanks to vgersh99 For This Post:
# 14  
Old 01-29-2011
Code:
nawk -f char.awk myFile

nawk is not recognized so I replaced with gawk or awk

Code:
char.awk: 
BEGIN {
  FS=OFS="|"
  ctrlC=sprintf("%c", 003)
}
{
   sub("^[|]","")
   sub(ctrlC "$","")
   while (n=index($0,ctrlC))
      $0=substr($0,1,n-1) ORS $1 OFS substr($0,n+1)
   print
}

I replaced ctrlC with the character control C. Thats it. I did nt do any other changes to your code,.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Parsing syslog from Linux

Hello, I'm facing problem to extract fields from below syslog : logver=56 idseq=63256900099118326 itime=1563205190 devid=FG-5KDTB18800138 devname=LAL-C1-FGT-03 vd=USER date=2019-07-15 time=18:39:49 logid="0000000013" type="traffic" subtype="forward" level="notice" eventtime=1563205189... (17 Replies)
Discussion started by: arm
17 Replies

2. Shell Programming and Scripting

Table like formatting in Linux

Dear experts, I need bit help in formatting .. I have csv file file , i will read that file by passing one column value as input parameter and display header row and corresponding row for that parameter. I have shell script like this: #!/bin/bash #key_word_I_am_looking_for=$1 #awk... (16 Replies)
Discussion started by: onenessboy
16 Replies

3. Shell Programming and Scripting

Specific string parsing in Linux/UNIX

Hi, I have a string which can be completely unstructred. I am looking to parse out values within that String. Here is an example <Random Strings> String1=<some number a> String2=<some number b> String3=<some number c> Satish=<some number d> String4=<some number e> I only want to parse out... (1 Reply)
Discussion started by: satishrao
1 Replies

4. UNIX for Dummies Questions & Answers

Formatting data in a raw file by using another mapping file

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)
Discussion started by: ravi4informatic
6 Replies

5. Shell Programming and Scripting

Formatting a file

Hi Experts I have a file which looks as follows acttest /report/fieldsinf/acttest/LIVE/acttest Chris New teatin1 /report/fieldsinf/eatin1/TEST/teatin1 Chris New eatin1 /report/fieldsinf/eatin1/LIVE/eatin1 Chris New tbectest ... (7 Replies)
Discussion started by: maverick_here
7 Replies

6. Shell Programming and Scripting

Help - Parsing data in XML in Linux

Hi, I have an XML file in Linux and it contains a long string of characters. The last part of the file is like ....... ....... ....... CAD</MarketDescription></InvestorTransaction></AdvisorAccount></DivisionAdvisor></Division>... (3 Replies)
Discussion started by: naveed
3 Replies

7. Shell Programming and Scripting

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: T_NAME|P_NAME|P_CODE|DOCUMENT_PATH|REG_DATE ... (3 Replies)
Discussion started by: hk6279
3 Replies

8. UNIX for Dummies Questions & Answers

Parsing linux commands through FTP

Hi Techies, I have made a shell script which stores the output of it in a text file. then i wanted to fetch that text file using windows scheduler in my windows xp desktop which i did successfully using the below mentioned ftp .bat file : @echo off @echo ftp_user>ftp_test.scr @echo... (0 Replies)
Discussion started by: gemnian.g
0 Replies

9. Solaris

Linux partitioned disk mounted on OSOL without formatting

Hello and Merry Christmas... Quick question after tireless search around the web. Description: I have a WD My book world edition II that met an untimely death. However the 2 SATA disks inside seem to be working just fine. Want to add either one of them to my Solaris Desktop. Since I... (5 Replies)
Discussion started by: michnmi
5 Replies

10. Shell Programming and Scripting

Parsing of file for Report Generation (String parsing and splitting)

Hey guys, I have this file generated by me... i want to create some HTML output from it. The problem is that i am really confused about how do I go about reading the file. The file is in the following format: TID1 Name1 ATime=xx AResult=yyy AExpected=yyy BTime=xx BResult=yyy... (8 Replies)
Discussion started by: umar.shaikh
8 Replies
Login or Register to Ask a Question