Sponsored Content
Top Forums Shell Programming and Scripting How to read and parse the content of csv file containing # as delimeter into fields using Bash? Post 302397436 by jim mcnamara on Monday 22nd of February 2010 06:58:36 AM
Old 02-22-2010
use tr
change the # to a tab - tab characters don't show in this example just enter tic (') then a tab, then another tic
Code:
cat 1.csv | tr '#' '	'| while read fileline
do
echo "$fileline"
IFS='	 ' flds=( $fileline )
nrofflds=${#flds[@]}
echo "noof fields$nrofflds"
fld=0
while [ "$fld" -lt "$nrofflds" ]
do
      echo "noof counter$fld" 
      echo "$nrofflds"
 
      fld1="${flds[0]}" 
 
      echo "$col2" 
      fld=$(($fld+1))
   done
 
 
 
i=$(($i+1))
echo "$i"
done

You have other errors as well - the fld variable is not initialized. You cannot do arithmetic comparisons on an unset variable.

Consider awk - not shell - it is meant for what you seem to want to do.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Re-usable function to parse csv files with different number of fields

Hi there, been pondering how to deal with this and hoping someone would give me an insight on this. I need help on creating a reusable bash funtion to parse csv files containing different number of fields (comma-seperated). My initial thought is to create function for each input csv file (20+... (2 Replies)
Discussion started by: jy2k7ca
2 Replies

2. UNIX for Dummies Questions & Answers

How do I read/find/replace fields in a csv datafile?

hello. I'm somewhat a novice here so please be patient. My stumbling block when loading csvs into ORACLE tables is this: I need to read a csv datafile, check several fields in each line, and if any of stated fields contain A ZERO only then replace it with a null/blank character. I had a... (9 Replies)
Discussion started by: MrCarter
9 Replies

3. Shell Programming and Scripting

Parse csv file

Hi, Our requirement is to parse the input file(.csv format). The each column in the file is delimited with comma. We need to take each column and apply some business validation rule. If data itself contains comma, then those fields are enclosed with double quotes ("). We can see this double... (7 Replies)
Discussion started by: vfrg
7 Replies

4. Shell Programming and Scripting

Bash Script to read a file and parse each record

Hi Guys, I am new to unix scripting and I am tasked to parse through a CSV file delimited by #. Sample: sample.csv H#A#B#C D#A#B#C T#A#B#C H = Header D = Detail Record T = Tail What I need is to read the file and parse through it to get the columns. I have no idea on how... (8 Replies)
Discussion started by: 3vilwyatt
8 Replies

5. Shell Programming and Scripting

Count the delimeter from a file and delete the row if delimeter count doesnt match.

I have a file containing about 5 million rows, in the file there are some records which has extra delimiter at random position. (we dont know the positions), now we have to Count the delimeter from each row and if the count of delimeter is not matching then I want to delete those rows from the... (5 Replies)
Discussion started by: Akumar1
5 Replies

6. Shell Programming and Scripting

Perl: Parse Hex file into fields

Hi, I want to split/parse certain bits of the hex data into another field. Example: Input data is Word1: 4f72abfd Output: Parse bits (5 to 0) into field word1data1=0x00cd=205 decimal Parse bits (7 to 6) into field word1data2=0x000c=12 decimal etc. Word2: efff3d02 Parse bits (13 to... (1 Reply)
Discussion started by: morrbie
1 Replies

7. Shell Programming and Scripting

Read csv file in bash

how to I use IFS to read 2 files (csv) and run the followiung script ./naviseccli -h 1.2.3.4 storagegroup -addhlu -gname $hostname -hlu $hlu_num -alu $alu_num the csv file for $hostname is host1 host2 . . . for hlu and alu its alu,hlu (2 Replies)
Discussion started by: tdubb123
2 Replies

8. Shell Programming and Scripting

BASH script to parse XML and generate CSV

Hi All, Hope all you are doing good! Need your help. I have an XML file which needs to be converted CSV file. I am not an expert of awk/sed so your help is highly appreciated!! XML file looks like this: <l:event dateTime="2013-03-13 07:15:54.713" layerName="OSB" processName="ABC"... (2 Replies)
Discussion started by: bhaskar_m
2 Replies

9. UNIX for Advanced & Expert Users

Script to parse and compare information in two fields of file

Hello, I am working parsing a large input file1(field CFA) I have to compare the the file1 field(CFA byte 88-96) with the content of the file2(It contains only one field) and and insert rows equal in another file. Here is my code and sample input file: ... (7 Replies)
Discussion started by: GERMANOS
7 Replies

10. Shell Programming and Scripting

Parse file for fields and specific text

I have a file of ~500,000 entries in the following: file.txt chr1 11868 12227 ENSG00000223972.5 . + HAVANA exon . gene_id "ENSG00000223972.5"; transcript_id "ENST00000456328.2"; gene_type "transcribed_unprocessed_pseudogene"; gene_status "KNOWN"; gene_name "DDX11L1"; transcript_type... (17 Replies)
Discussion started by: cmccabe
17 Replies
OWX(1)							      General Commands Manual							    OWX(1)

NAME
owx - utility to program Wouxun dual-band handheld radios SYNOPSIS
owx-check [ -v | -h ] [ -f ] [ -p <port> ] [ -t <timeout> ] owx-get [ -v | -h ] [ -f ] [ -p <port> ] [ -t <timeout> ] -o <path> owx-put [ -v | -h ] [ -f ] [ -p <port> ] [ -t <timeout> ] -i <path> -r <path> owx-export [ -v | -h ] -i <bin path> -o <csv path> owx-import [ -v | -h ] -i <csv path> -o <bin path> DESCRIPTION
This manual page documents briefly the owx commands. owx is a set of commands that will allow you to fetch and update configuration on your Wouxun handheld radio. It is made of multiple com- mands. COMMON OPTIONS
These options are common to all commands. -h Show summary of options. -v Show version of program. -c <command> Invoke owx-<command>. Makes sense only if called directly as owx. OPTIONS FOR check, get AND put -f Force operation even if your radio identifies different from a KG669V. Use this option with extreme caution - it is very possible that your radio will be rendered unusable after you use this. It was NEVER tested with any radio different from mentoined above. -p <port> Use port <port>, defaults to /dev/ttyUSB0. Of course you must have appropriate read and write permissions for this device. -t <timeout> Specify the receive timeout for communication with radio. If you disable it (by setting to 0) and the communication fails, the pro- gram will hang forever. You probably don't need to change the default value (5 seconds). USAGE
owx-check This program just checks for the connection and identification string. It can be used to check that your cable and port works. owx-get This program downloads memory map from radio to binary file. Options: -o <path>: binary file to write to owx-put This program uploads memory map from binary file to radio. Options: -i <path>: binary file to read from -r <path>: reference file Option -r is not mandatory, but recommended. You can specify original, unchanged file (exactly as downloaded using owx-get) and this will speed up memory uploading, as owx will compare input file to this reference file and upload only changed memory pages. When using this option, be sure that nothing has changed in the radio (even the currently selected memory channel) between downloading reference file and using it for upload. This is important as some variables that cross the page boundaries (if there are any in the memory map) could be corrupted by this. Example: owx-get -o file.bin cp file.bin backup.bin owx-export -i file.bin -o wouxun.csv oocalc wouxun.csv owx-import -i wouxun.csv -o file.bin owx-put -i file.bin -r backup.bin Please do yourself a favour and double-check that you upload the correct file. If you try to upload incorrect or corrupted file, your radio will power down and fail to power up. owx will refuse to upload any file with incorrect size, but this is the only safety check. owx-export This program exports channel data from binary file to CSV file. This file can be later edited using your favourite spreadsheet edi- tor or even text editor. Options: -i <path>: binary file to read from -o <path>: csv file to write to owx-import This program reads the specified, possibly edited by you CSV file, and patches existing binary file with this updated data. The file is now prepared to be uploaded with owx-put. Options: -i <path>: csv file to read from -o <path>: binary file to write to (must already exist) SEE ALSO
chirp(1), the README file. AUTHOR
owx was written by SP5GOF (Adam Wysocki). This manual page was written by Antoine Beaupre <anarcat@debian.org>, for the Debian project (and may be used by others). October 26, 2011 OWX(1)
All times are GMT -4. The time now is 06:13 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy