Parsing a file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Parsing a file
# 1  
Old 01-20-2011
Parsing a file

I am writing some fairly heavy software. As of current solely in bash. It will change the world when I am done. Why do I ask for help? I am thinking a ( as a variable has me stumped. The ones commented I have played with 0 results, $PWD is the current folder we are playing with as per bash.

The software is recursive in it's job, do not assume the same variable. I do NOT WANT to punch it to a new file, -i -e sed does not return the results I am looking for.
Prerequisites:
$FILE=azenis-theme-pack_0.0.4_all.deb
$CONTROL=$PWD/azenis-theme-pack_0.0.4_all/DEBIAN/control
$DEPENDS="libc6 (>= 2.5-0ubuntu1), initramfs-tools (>= 0.40ubuntu30), gtk2-engines-aurora"

Code:
function Addcontrol(){
CONTROL=$PWD/DEBIAN/control
DEPENDS=$(cat $CONTROL | grep "Depends:" | cut -d: -f2)
if [[ $DEPENDS != "" ]]; then
STRIPNAME=$DEPENDS", python"
echo "Original Depends section: "$DEPENDS
echo "New dependancy list: "$STRIPNAME
echo "Adding dependancy: python to $CONTROL"
sed -i -e "s/'$DEPENDS'/'$STRIPNAME'/g'" $CONTROL > $CONTROL".NEW"
else
echo "No Depends: section in control file creating section and adding python to the list."
###BLAH BLAH HERE
fi



#sed "s/$DEPENDS/$/g' control > new.file


#sed 's/, '$STRIPNAME'//g' $CONTROL
#sed -i 's'$DEPENDS'/'$STRIPNAME'/' $CONTROL
#sed -i -e "s/'$DEPENDS'/'$STRIPNAME'/g" $CONTROL
#echo $CONTROL | sed "s/'$DEPENDS'/'$STRIPNAME'/g" $CONTROL
else
echo "No Depends: section in control file creating section and adding python to the list."
# Read control file searching for pattern deleting requires $STRIPNAME
# pipe it 3 times first in case it is not the only "requires"
# second in case no space was used after the comma
# third a catch all.  IE the only requires.
#sed 's/, '$STRIPNAME'//g' $CONTROL
#sed 's/,'$STRIPNAME'//g' $CONTROL
#sed 's/'$STRIPNAME'//g' $CONTROL
fi
}

Entire control file in:
Code:
Package: azenis-theme-pack
Priority: optional
Section: gnome
Architecture: all
Depends:libc6 (>= 2.5-0ubuntu1), initramfs-tools (>= 0.40ubuntu30), gtk2-engines-aurora
Recommends: ttf-liberation, azenis-xsplash, azenis-plymouth, azenis-usplash
Version: 0.0.4
Conflicts: gnome-audio
Maintainer: UE Team <theemahn2003@yahoo.com>
Installed-Size: 63384
Description: Azenis Theme Pack
 Azenis theme set.  http://www.themelinux.com/.

Expected results:
Code:
Package: azenis-theme-pack
Priority: optional
Section: gnome
Architecture: all
Depends:libc6 (>= 2.5-0ubuntu1), initramfs-tools (>= 0.40ubuntu30), gtk2-engines-aurora, python
Recommends: ttf-liberation, azenis-xsplash, azenis-plymouth, azenis-usplash
Version: 0.0.4
Conflicts: gnome-audio
Maintainer: UE Team <theemahn2003@yahoo.com>
Installed-Size: 63384
Description: Azenis Theme Pack
 Azenis theme set.  http://www.themelinux.com/.

Let me tell you what I am doing:
Code:
Repomaster(1)                                                                                                                                                                                                            Repomaster(1)

NAME
       repomaster - Software suited for extraction, packaging and maintaining a repository.

SYNOPSIS
       repomaster

DESCRIPTION
       repomaster - Software suited for extraction, packaging and maintaining a repository. It supports many auto error correction features, with many more to come in the future.

FEATURES
       Repomaster  has many advanced features to automate the building of debs to be Lintian error free. It has advanced scaning of files to set proper permissions. I have ran this tool on a folder with 13 GB of debs prior to run‐
       ning the tool a total of 136,435 errors and warnings. After running the tool 1,323. It is not perfect yet, but is going in the right direction.

OPTIONS
       -v     Display version number.

       -h     Show help.

       -e     Eztracts specified deb. Specifying no deb file name will extract all debs in current directory prompting first. All error free debs are copied to a hidden subfolder called .debs/ in the current folder.

       -r     Will relax the permissions on a given folder allowing you to edit or delete files within the folder. The proper permissions will automatically be reset when you goto build. Not specifying a folder will reset  permis‐
              sions on all subfolders. Please be careful where you execute this tool. It will display the folders to be effected and prompt you.

       -c     Will erase specified folder ignoring permissions. Specifying no folder name will erase all subfolders in the curent folder. Please use care.

       -f     Will attempt to fix all errors in the specified folder to be lintian /debian error free complient. Specifying no folder name will process all folders with a [FOLDER].deb.errors. This will take a long time to be fully
              implemented.

EXAMPLES
       Extract a deb: repomaster -e ultamatix-1.9.1_all.deb

       Re-build the deb: repomaster -b ultamatix-1.9.1_all

       Extract all debs in your current folder into thier own folder: repomaster -e

BUGS
       GNU repomaster home page: <http://www.ultimateedition.info/>.  E-mail bug reports to: <theemahn@ultimateedition.info>.  Be sure to include the word repomaster somewhere in the Subject: field."

AUTHOR
       TheeMahn <theemahn@ultimateedition.info>

Debian/GNU Linux                                                                                             JANUARY 2011

Help me get this fixed, you fixed many in one shot:
Code:
Process complete.
Scanning for errors / warnings to fix in azenis-theme-pack_0.0.4_all.
E: azenis-theme-pack: python-script-but-no-python-dep ./usr/share/screenlets/Lyrics/LyricsPanel.py
E: azenis-theme-pack: python-script-but-no-python-dep ./usr/share/screenlets/Lyrics/LyricsScreenlet.py
E: azenis-theme-pack: python-script-but-no-python-dep ./usr/share/screenlets/Lyrics/Quodlibet plugin/LyricsScreenletInformator.py
E: azenis-theme-pack: python-script-but-no-python-dep ./usr/share/screenlets/Lyrics/lyricsengine/ALSong.py
E: azenis-theme-pack: python-script-but-no-python-dep ./usr/share/screenlets/Lyrics/lyricsengine/engine.py
E: azenis-theme-pack: python-script-but-no-python-dep ./usr/share/screenlets/Lyrics/lyricsengine/lrcdb.py
E: azenis-theme-pack: python-script-but-no-python-dep ./usr/share/screenlets/Lyrics/lyricsengine/minilyrics.py
E: azenis-theme-pack: python-script-but-no-python-dep ./usr/share/screenlets/Lyrics/players/ExailePlayer03.py
E: azenis-theme-pack: python-script-but-no-python-dep ./usr/share/screenlets/Lyrics/players/ListenPlayer.py
E: azenis-theme-pack: python-script-but-no-python-dep ./usr/share/screenlets/Lyrics/players/player.py
E: azenis-theme-pack: python-script-but-no-python-dep ./usr/share/screenlets/Lyrics/widget.py
Fixing Error: Dependancy on python - Adding Python dependency to the control file.  Please at this stage of development review and change if necessary.

1 deb, run it across 100 or 1000 debs, see where I am going? Automation at it's finest.


Moderator's Comments:
Mod Comment Double post. Continue here.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

File Parsing

Hi Gurus, i have files like this and i want to rename it. server1_0_Log0000597500 server1_0_Log0000597501 server1_0_Log0000597502 server1_0_Log0000597503 server1_0_Log0000597504 server1_0_Log0000597505 server1_0_Log0000597506 server1_0_Log0000597507 server1_0_Log0000597508... (7 Replies)
Discussion started by: fedora132010
7 Replies

2. Shell Programming and Scripting

parsing data from a big file using keys from another smaller file

Hi, I have 2 files format of file 1 is: a1 b2 a2 c2 d1 f3 format of file 2 is (tab delimited): a1 1.2 0.5 0.06 0.7 0.9 1 0.023 a3 0.91 0.007 0.12 0.34 0.45 1 0.7 a2 1.05 2.3 0.25 1 0.9 0.3 0.091 b1 1 5.4 0.3 9.2 0.3 0.2 0.1 b2 3 5 7 0.9 1 9 0 1 b3 0.001 1 2.3 4.6 8.9 10 0 1 0... (10 Replies)
Discussion started by: Lucky Ali
10 Replies

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

4. Shell Programming and Scripting

Parsing file, yaml file? Extracting specific sections

Here is a data file, which I believe is in YAML. I am trying to retrieve just the 'addon_domains" section, which doesnt seem to be as easy as I had originally thought. Any help on this would be greatly appreciated!! I have been trying to do this in awk and mostly bash scripting instead of perl... (3 Replies)
Discussion started by: Rhije
3 Replies

5. UNIX for Dummies Questions & Answers

Script for parsing details in a log file to a seperate file

Hi Experts, Im a new bee for scripting, I would ned to do the following via linux shell scripting, I have an application which throws a log file, on each action of a particular work with the application, as sson as the action is done, the log file would vanish or stops updating there, the... (2 Replies)
Discussion started by: pingnagan
2 Replies

6. Shell Programming and Scripting

File Parsing Help

Hello, I have a file which contains groups of fields. These groups are separated by a blank line, to form a logical record. Each line consists of a field-value pair. If want to find all records where field 'd' has a value of '4' and if it does, I want the value of field 'a' (from the... (4 Replies)
Discussion started by: brawnr
4 Replies

7. Shell Programming and Scripting

Perl parsing compared to Ksh parsing

#! /usr/local/bin/perl -w $ip = "$ARGV"; $rw = "$ARGV"; $snmpg = "/usr/local/bin/snmpbulkget -v2c -Cn1 -Cn2 -Os -c $rw"; $snmpw = "/usr/local/bin/snmpwalk -Os -c $rw"; $syst=`$snmpg $ip system sysName sysObjectID`; sysDescr.0 = STRING: Cisco Internetwork Operating System Software... (1 Reply)
Discussion started by: popeye
1 Replies

8. Shell Programming and Scripting

need help in Parsing a CSV file and generate a new output file

Hi Scripting Gurus, I am trying to parse a csv file and generate a new output file. The input file will be a variable length in turns of rows and columns. output file will have 8 columns. we have three columns from the header for each set. just to give little bit more clarification each row... (15 Replies)
Discussion started by: vkr
15 Replies

9. Shell Programming and Scripting

Finding & Moving Oldest File by Parsing/Sorting Date Info in File Names

I'm trying to write a script that will look in an /exports folder for the oldest export file and move it to a /staging folder. "Oldest" in this case is actually determined by date information embedded in the file names themselves. Also, the script should only move a file from /exports to... (6 Replies)
Discussion started by: nikosey
6 Replies

10. Shell Programming and Scripting

Help me with parsing this file

Hi, I need a shell script that would parse this file /usr/share/i18n/locales/aa_DJ:title "Afar language locale for Djibouti (Cadu/Laaqo Dialects)." /usr/share/i18n/locales/aa_ER:title "Afar language locale for Eritrea (Cadu/Laaqo Dialects)." /usr/share/i18n/locales/aa_ER@saaho:title... (2 Replies)
Discussion started by: eamani_sun
2 Replies
Login or Register to Ask a Question