I need to treat files with variable line length, and process the tab-delimited words of each line. The tools I know are some basic bash scripting and sed ... I haven't got to python or perl yet.
I've tried something like this, but that (logically) reads over the line breaks :
Code:
sum=0
while read -d $'\t' brlen
do
if [ ${brlen:0:3} = "obj" ]
then
if [ ! $sum = "0" ]
then
echo $sum
fi
echo -e -n "${brlen}\t"
sum=0
else
temp=`echo "scale=3; ${sum}+${brlen}" | bc -l`
sum=$temp
fi
done < myfile
Of course, a solution would be to create a different file with
Code:
sed -e "s/\t/\n/g" myfile > myfile1
but can I do this directly ?
Can I feed the output of the sed command directly into the while loop, for instance ?
Hi ,
I am currently using the while loop in bash shell, as follows.
while read line
do
echo $line
done < file.txt
However, i want to use the while loop on file.txt, which will read the file with 4 lines of gap.
Ex- if file.txt is a file of 100 lines, then i want to use the loop such... (3 Replies)
Is this possible?
I have a for loop in a shell script reading a list, but I want each line to be a loop, not each thing with a space.
Here is the example:
HOSTLIST="\
1.2.3.4 serverA
1.2.3.5 serverB"
for NBUHOST in `echo $HOSTLIST`
do
ssh ${SERVERNAME} "echo "${NBUHOST}"... (3 Replies)
hi,
this is my script #!/bin/ksh
cat temp_file.dat | while read line
do
read test
if ]; then
break
else echo "ERROR"
fi
done
when i execute this code , the script does wait for the user input . it directly prints "ERROR" and terminates after the no. of times as there... (3 Replies)
Hi all,
Sorry if someone has answered something like this already, but I have a problem. I am not brilliant with "awk" but think it should be the command to use to get what I am after.
I have 2 files:
job-file (several hundred lines like):
1018003,LONG MU WAN,1113S
1018004,LONG MU... (4 Replies)
Hello All,
i am a newbie and need some help when reading a csv file in a bourne shell script. I want to read 10 lines, then wait for a minute and then do a reading of another 10 lines and so on in the same way. I want to do this till the end of file.
Any inputs are appreciated
... (3 Replies)
Dear all,
I have a file like this:
imput
scaffold_0 1
scaffold_0 10000
scaffold_0 20000
scaffold_0 25000
scaffold_1 1
scaffold_1 10000
scaffold_1 20000
scaffold_1 23283
and I want the output like this:
scaffold_0 1 scaffold_0 10000
scaffold_0 10000 scaffold_0 20000... (6 Replies)
I have a file which has following content:
NAME=ora.DG1.dg
TYPE=ora.diskgroup.type
TARGET=ONLINE
STATE=ONLINE
NAME=ora.DG2.dg
TYPE=ora.diskgroup.type
TARGET=ONLINE
STATE=ONLINE
NAME=ora.DG3.dg
TYPE=ora.diskgroup.type
TARGET=ONLINE
STATE=ONLINE
NAME=ora.DG4.dg... (7 Replies)
I have three files of varying lengths and different number of columns. How can I paste all three with all columns aligned?
File1
----
123
File2
----
234
345
678
File3
----
456
789
Output should look like:
123 234 456
345 789 (6 Replies)
Discussion started by: Un1xNewb1e
6 Replies
LEARN ABOUT MOJAVE
sum
sum(n) Cyclic Redundancy Checks sum(n)
__________________________________________________________________________________________________________________________________________________NAME
sum - Calculate a sum(1) compatible checksum
SYNOPSIS
package require Tcl 8.2
package require sum ?1.1.0?
::crc::sum ?-bsd | -sysv? ?-format fmt? ?-chunksize size? [ -filename file | -channel chan | string ]
_________________________________________________________________DESCRIPTION
This package provides a Tcl-only implementation of the sum(1) command which calculates a 16 bit checksum value from the input data. The
BSD sum algorithm is used by default but the SysV algorithm is also available.
COMMANDS
::crc::sum ?-bsd | -sysv? ?-format fmt? ?-chunksize size? [ -filename file | -channel chan | string ]
The command takes string data or a file name or a channel and returns a checksum value calculated using the sum(1) algorithm. The
result is formatted using the format(n) specifier provided or as an unsigned integer (%u) by default.
OPTIONS -sysv The SysV algorithm is fairly naive. The byte values are summed and any overflow is discarded. The lowest 16 bits are returned as the
checksum. Input with the same content but different ordering will give the same result.
-bsd This algorithm is similar to the SysV version but includes a bit rotation step which provides a dependency on the order of the data
values.
-filename name
Return a checksum for the file contents instead of for parameter data.
-channel chan
Return a checksum for the contents of the specified channel. The channel must be open for reading and should be configured for
binary translation. The channel will no be closed on completion.
-chunksize size
Set the block size used when reading data from either files or channels. This value defaults to 4096.
-format string
Return the checksum using an alternative format template.
EXAMPLES
% crc::sum "Hello, World!"
37287
% crc::sum -format 0x%X "Hello, World!"
0x91A7
% crc::sum -file sum.tcl
13392
AUTHORS
Pat Thoyts
BUGS, IDEAS, FEEDBACK
This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category crc of
the Tcllib SF Trackers [http://sourceforge.net/tracker/?group_id=12883]. Please also report any ideas for enhancements you may have for
either package and/or documentation.
SEE ALSO
cksum(n), crc32(n), sum(1)KEYWORDS
checksum, cksum, crc, crc32, cyclic redundancy check, data integrity, security, sum
CATEGORY
Hashes, checksums, and encryption
COPYRIGHT
Copyright (c) 2002, Pat Thoyts <patthoyts@users.sourceforge.net>
crc 1.1.0 sum(n)