Sponsored Content
Top Forums Shell Programming and Scripting How to extract every 6-th character in a line? Post 303026414 by stomp on Tuesday 27th of November 2018 10:51:05 AM
Old 11-27-2018
Just to dump my lines here before I clean it from my disk ....

This is in bash:

Code:
#!/bin/bash

compact() {
        local compacted=""
        local length=${#1}
        for((char=0;$char<=$length;char=$char+7)) ; do
                compacted="$compacted${1:$char:1}"
        done
        _res=$compacted
}

while read line ;do 
        compact "${line:7}"
        printf "%6s %s\n" ${line:0:6} $_res
done <$1

3 seconds per processed line (~21 Hours total)

same in lua:

Code:
#!/usr/bin/env lua

local data = io.open(arg[1],"r")

function compact(string)
        local compacted=""
        local length = string:len()
        for char=1,length,7 do
                compacted=compacted..string:sub(char,char)
        end
        return compacted
end

for line in data:lines() do
      print(line:sub(1,7)..compact(line:sub(8)))
end

2 minutes runtime total
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Extract a character

HI Guys, Have a Doubt...... I have a pattern "abcdef" and i need to extract the third character..ie(c) How to achieve it? (10 Replies)
Discussion started by: aajan
10 Replies

2. Shell Programming and Scripting

extract character + 1

Hi, I would like extract from a file a character or pattern after ( n + 1) a specific pattern (n) . ( i supposed with awk) how could i do ? Thanks in advance. (1 Reply)
Discussion started by: francis_tom
1 Replies

3. HP-UX

How to remove new line character and append new line character in a file?

Hi Experts, I have data coming in 4 columns and there are new line characters \n in between the data. I need to remove the new line characters in the middle of the row and keep the \n character at the end of the line. File is comma (,) seperated. Eg: ID,Client ,SNo,Rank 37,Airtel \n... (8 Replies)
Discussion started by: sasikari
8 Replies

4. Shell Programming and Scripting

Extract character between specific line numbers

Hi guys, I have txt file and I would need to extract all the contents between specific line numbers. Line 1: apple Line 2: orange Line 3: mango Line 4: grapes Line 5: pine apple I need to extract the content between line 2 and 4, including the contents of Line 2 and 4 so the ouput... (2 Replies)
Discussion started by: gowrishankar05
2 Replies

5. Shell Programming and Scripting

Extract a character specifying position

hi , i am having a file Full_ARTMAS_20110510152425.xml in my local directory. i wanted to extract the character at the 35143546 th position at line 1 of this file.Can any body help me how to do it??? regards Anjali (2 Replies)
Discussion started by: angel12345
2 Replies

6. Solaris

Line too long error Replace string with new line line character

I get a file which has all its content in a single row. The file contains xml data containing 3000 records, but all in a single row, making it difficult for Unix to Process the file. I decided to insert a new line character at all occurrences of a particular string in this file (say replacing... (4 Replies)
Discussion started by: ducati
4 Replies

7. Shell Programming and Scripting

Search for a pattern,extract value(s) from next line, extract lines having those extracted value(s)

I have hundreds of files to process. In each file I need to look for a pattern then extract value(s) from next line and then search for value(s) selected from point (2) in the same file at a specific position. HEADER ELECTRON TRANSPORT 18-MAR-98 1A7V TITLE CYTOCHROME... (7 Replies)
Discussion started by: AshwaniSharma09
7 Replies

8. Shell Programming and Scripting

Sed: delete on each line before a character and after a character

Hi there, A total sed noob here. Is there a way using sed to delete everything before a character AND after another character on each line in a file? The deletion should also delete the indicating characters(here: an opening and a closing parenthesis). The original file would look like... (3 Replies)
Discussion started by: bnbsd
3 Replies

9. Shell Programming and Scripting

Extract First character in Second column

Hi, I need to extract the first character of second column of my file. If the condition matches, then I need to print the 2nd and 3rd column as my output I tried below mentioned query but it was not working awk -F'|' '$2~/^5/' Sgn_group.txt File Name : Sgn_group.txt country... (2 Replies)
Discussion started by: suresh_target
2 Replies

10. Shell Programming and Scripting

Read character by character in line in which space is also included

Hi friend, I have one file , and i want to read that file character by character. I need this script in ksh. while using read option with -n1 am getting error. while read -n1 c read has bad option And if i am using below script, then if in a line has space like this ( Pallvi mahajan)... (10 Replies)
Discussion started by: pallvi_mahajan
10 Replies
compact(1)						      General Commands Manual							compact(1)

Name
       compact, uncompact, ccat - compress and uncompress files, and cat them

Syntax
       compact [name...]
       uncompact [name...]
       ccat [file...]

Description
       The  command compresses the named files using an adaptive Huffman code.	If no file names are given, the standard input is compacted to the
       standard output.  The command operates as an on-line algorithm.	Each time a byte is read, it is encoded immediately according to the  cur-
       rent  prefix  code.   This code is an optimal Huffman code for the set of frequencies seen so far.  It is unnecessary to prepend a decoding
       tree to the compressed file since the encoder and the decoder start in the same state and stay synchronized.  Furthermore, and can  operate
       as filters.  In particular,
	    ... | compact | uncompact | ...
       operates as a (very slow) no-op.

       When  an  argument file is given, it is compacted and the resulting file is placed in file.C; file is unlinked.	The first two bytes of the
       compacted file code the fact that the file is compacted.  This code is used to prohibit recompaction.

       The amount of compression to be expected depends on the type of file being compressed.  Typical values of compression are: Text (38%), Pas-
       cal Source (43%), C Source (36%) and Binary (19%).  These values are the percentages of file bytes reduced.

       The command restores the original file from a file compressed by If no file names are given, the standard input is uncompacted to the stan-
       dard output.

       The command cats the original file from a file compressed by without uncompressing the file.

       The command is present only for compatibility.  In general, the command runs faster and gives better compression.

Restrictions
       The last segment of the file name must contain fewer than thirteen characters to allow space for the appended '.C'.

Files
       compacted file created by compact, removed by uncompact

See Also
       compress(1)

																	compact(1)
All times are GMT -4. The time now is 11:24 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy