Sponsored Content
Top Forums Shell Programming and Scripting Joining lines in a file - help! Post 302647749 by Storms on Monday 28th of May 2012 07:19:30 PM
Old 05-28-2012
After having some issues around spaces and format I decided to try a basic approach, so I wrote an easy to read script. It may not be the most optimal but it does the job and is easy to maintain.

So, the code joins lines into one (so that they all start with R| ). Then performs some sentiment analysis on the line and appens |positive |negative or |neutral at the end
Code:
BEGIN {
        FS = "|"
        OFS = "|"
        IGNORECASE = 1
}
{
  full_line = $0
  eof = 1
  while (eof > 0) {
        eof = getline next_line
        if (eof <= 0)
        {
                sentiment(full_line)
        } else if (next_line !~ /^R\|/)
        {
          if ((full_line ~ / $/) || (next_line ~ /^ /)) {
                full_line = full_line next_line
          } else {
                full_line = full_line " " next_line
          }
        } else if (next_line ~ /^R\|/)
        {
                sentiment(full_line)
                full_line = next_line
        }
  }

}

function sentiment(LINE) {
        if (match(LINE, /(no[t]*|wasn[']*t|isn[']*t|ain[']*t) (that |very )*\y(good|great|best|excellent|brilliant|amazing|magificient|fantastic)\y/))
        {
                print LINE, "negative"
        }
        else if (match(LINE, /\y(shit|crap|awful|worst|stupid|idiotic|arsehole|bastard|shite|disgusting|nightmare|hate|hated|angry)(s)*\y/))
        {
                print LINE, "negative"
        }
        else if (match(LINE, /\y(good|great|best|positive|excellent|brilliant|amazing|magificient|fantastic)\y/))
        {
                print LINE, "positive"
        }
        else
        {
                print LINE, "neutral"
        }

}


Last edited by Storms; 05-28-2012 at 08:49 PM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Joining lines in log file

Hi, I need to develop a script to join multiple three lines in a log file into one line for processing with awk and grep. I looked at tr with no success. The first line contains the date time information. The second line contains the error line. The third line is a blank line. Thanks, Mike (3 Replies)
Discussion started by: bubba112557
3 Replies

2. Shell Programming and Scripting

Joining 2 lines in a file together

Hi guys, I've got a log file which has entries that look like this: ------------------------------------------------------------------------------- 06/08/04 07:57:57 AMQ9002: Channel program started. EXPLANATION: Channel program 'INSCCPQ1.HSMTSPQ1' started. ACTION: None. ... (3 Replies)
Discussion started by: m223464
3 Replies

3. UNIX for Dummies Questions & Answers

Joining lines of a text file using GAWK

sir... am having a data file of customer master., containing some important fields as a set one line after another., what i want is to have one set of these fields(rows) one after another in line.........then the second set... and so on... till the last set completed. ... (0 Replies)
Discussion started by: KANNI786
0 Replies

4. UNIX for Dummies Questions & Answers

JOINING MULTIPLE LINES IN A TEXT FILE USING GAWK

sir... am having a data file of customer master., containing some important fields as a set one line after another., what i want is to have one set of these fields(rows) one after another in line.........then the second set... and so on... till the last set completed. I WANT THE DATA... (0 Replies)
Discussion started by: KANNI786
0 Replies

5. Shell Programming and Scripting

Joining lines in a text file using AWK or SED

Hi All I'm struggling a bit here :( I need a way of joining lines contained in a text file. I've seen numerous SED and AWK examples and none of them seem to be working for me. The text file has 4 lines: DELL1427 DOC 30189342 79 Now bear with me on this one as I'm actually... (4 Replies)
Discussion started by: huskie69
4 Replies

6. Shell Programming and Scripting

bash - joining lines in a file

I’m writing a bash shell script and I want to join lines together where two variables on each line are the same ie. 12345variablestuff43212morevariablestuff 12345variablestuff43212morevariablestuff 34657variablestuff78945morevariablestuff 34657variablestuff78945morevariablestuff... (12 Replies)
Discussion started by: Cultcha
12 Replies

7. Shell Programming and Scripting

joining multi-line file into single lines

Hi, I have a file like mentioned below..For each specific id starting with > I want to join the sequence in multiple lines to a single line..Is there a simple way in awk or sed to do this >ENST00000558922 cdna:KNOWN TCCAGGATCCAGCCTCCCGATCACCGCGCTAGTCCTCGCCCTGCCTGGGCTTCCCCAGAG... (2 Replies)
Discussion started by: Diya123
2 Replies

8. Shell Programming and Scripting

Joining lines in TXT file based on first character

Hi, I have a pipe delimeted text file where lines have been split over 2 lines and I need to join them back together. For example the file I have is similar to the following: aaa|bbb |ccc ddd|eee fff|ggg |hhh I ideally need to have it looking like the following aaa|bbb|ccc ddd|eee... (5 Replies)
Discussion started by: fuji_s
5 Replies

9. Shell Programming and Scripting

Issue in Concatenation/Joining of lines in a dynamically generated file

Hi, I have a file containing many records delimited by pipe (|). Each record should contain 17 columnns/fields. there are some fields having fields less than 17.So i am extracting those records to a file using the below command awk 'BEGIN {FS="|"} NF !=17 {print}' feedfile.txt... (8 Replies)
Discussion started by: TomG
8 Replies

10. Shell Programming and Scripting

Joining especific lines in "2n" lines file

Hi to everybody. I have a "2n" lines file. I would like to create a new file with only "n" lines, each line in the new file formed by the proper odd line of the old file joined with the following even line (separated by a space) of the old file. I'd prefer using sed or bash. -example-... (5 Replies)
Discussion started by: felino
5 Replies
ZZIP_DISK_FOPEN(3)					       zziplib Function List						ZZIP_DISK_FOPEN(3)

NAME
zzip_disk_fopen, zzip_disk_entry_fopen, zzip_disk_fread, zzip_disk_fclose, zzip_disk_feof - openening a file part wrapped within a (mmapped) zip archive SYNOPSIS
#include <zzip/mmapped.h> zzip__new__ ZZIP_DISK_FILE * zzip_disk_fopen((ZZIP_DISK * disk, char *filename)); zzip__new__ ZZIP_DISK_FILE * zzip_disk_entry_fopen((ZZIP_DISK * disk, ZZIP_DISK_ENTRY * entry)); zzip_size_t zzip_disk_fread((void *ptr, zzip_size_t sized, zzip_size_t nmemb, ZZIP_DISK_FILE * file)); int zzip_disk_fclose((ZZIP_DISK_FILE * file)); int zzip_disk_feof((ZZIP_DISK_FILE * file)); DESCRIPTION
The zzip_disk_fopen function opens a file found by name, so it does a search into the zip central directory with zzip_disk_findfile and whatever is found first is given to zzip_disk_entry_fopen the ZZIP_DISK_FILE* is rather simple in just encapsulating the arguments given to the zzip_disk_entry_fopen function plus a zlib deflate buffer. Note that the ZZIP_DISK pointer does already contain the full mmapped file area of a zip disk, so open()ing a file part within that area happens to be a lookup of its bounds and encoding. That information is memorized on the ZZIP_DISK_FILE so that subsequent _read() operations will be able to get the next data portion or return an eof condition for that file part wrapped in the zip archive. The zzip_disk_fread function reads more bytes into the output buffer specified as arguments. The return value is null on eof or error, the stdio-like interface can not distinguish between these so you need to check with zzip_disk_feof for the difference. The zzip_disk_fclose function releases any zlib decoder info needed for decompression and dumps the ZZIP_DISK_FILE* then. The zzip_disk_feof function allows to distinguish an error from an eof condition. Actually, if we found an error but we did already reach eof then we just keep on saying that it was an eof, so the app can just continue. AUTHOR
o Guido Draheim <guidod@gmx.de> COPYRIGHT
Copyright (c) 2003,2004,2006 Guido Draheim All rights reserved, use under the restrictions of the Lesser GNU General Public License or alternatively the restrictions of the Mozilla Public License 1.1 zziplib 0.13.62 ZZIP_DISK_FOPEN(3)
All times are GMT -4. The time now is 12:57 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy