Sponsored Content
Top Forums Shell Programming and Scripting to grep and print their counts Post 302140533 by drl on Saturday 13th of October 2007 05:16:27 PM
Old 10-13-2007
Hi.

A brief improvisation on radoulov's inventive zsh script -- move the read outside the loop -- probably a negligible difference for short files, however, could make a difference for longer files (a manifestation of my habit of moving invariant code outside Fortran loops Smilie ):
Code:
#!/bin/zsh

# @(#) s2       Demonstrate small optimization, avoid repeated reads.

FILE=${1-data1}

echo
echo " Input $FILE:"
cat $FILE

# <data2 while read;do printf "%s=%d\n" "$REPLY" "${#$(<data1)//[^$REPLY]}";done

echo
echo " Results:"
t1=$(<$FILE)
while read
do
  printf "%s=%d\n" "$REPLY" "${#${t1//[^$REPLY]}}"
done <data2

exit 0

Producing:
Code:
% ./s2

 Input data1:
ACFCFACCACARCSHFARCVJVASTVAJFTVAJVGHBAJ

 Results:
A=9
C=7
F=4
R=2

cheers, drl
 

8 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

using grep and print filename

Hi, I have a question on bash. Basically I would like to print a file name using bash. I am actually trying to grep a particular character in sequential files. I have alot files such that a.txt, b.txt,c.txt...etc. If I found a certain character, I would print that particular filename. I... (5 Replies)
Discussion started by: ahjiefreak
5 Replies

2. Shell Programming and Scripting

Print lines after grep

Hi all, I need help in following scenario. I have a file with about 10,000 lines. There are several lines which have word "START" (all upper case) in them. I want to grep line with word "START" and then do the following 1. Print the line number having word "START" 2. Print the next 11 lines. ... (4 Replies)
Discussion started by: jakSun8
4 Replies

3. Shell Programming and Scripting

MEM=`ps v $PPID| grep -i db2 | grep -v grep| awk '{ if ( $7 ~ " " ) { print 0 } else

Hi Guys, I need to set the value of $7 to zero in case $7 is NULL. I've tried the below command but doesn't work. Any ideas. thanks guys. MEM=`ps v $PPID| grep -i db2 | grep -v grep| awk '{ if ( $7 ~ " " ) { print 0 } else { print $7}}' ` Harby. (4 Replies)
Discussion started by: hariza
4 Replies

4. UNIX for Dummies Questions & Answers

Grep & print

I just need to print value 12 digit number after the key *MI*. My big concern is the below lines are not fixed format or length so cant cut based on the position. XSA*00**00**XZ*DA-Paper*30*942411167****MI*010001990802~AEE XSA*00**00**ZZ*EA-aper*30*94169****MI*010001960802~SDRE*ER... (7 Replies)
Discussion started by: gunaah
7 Replies

5. Shell Programming and Scripting

Counts a number of unique word contained in the file and print them in alphabetical order

What should be the Shell script that counts a number of unique word contained in a file and print them in alphabetical order line by line? (7 Replies)
Discussion started by: proactiveaditya
7 Replies

6. Shell Programming and Scripting

Print lines before and after..not grep -A

Hi I have this in my file 2011-04-18 15:32:11 system-alert-00012: UDP flood! From xxxxxx to yyyyyyyyyy, int ethernet0/2). Occurred 1 times. 2011-04-18 15:32:11 system-alert-00012: UDP flood! From xxxxxx to yyyyyyyyyy, int ethernet0/2). Occurred 1 times. 2011-04-18 15:32:11... (9 Replies)
Discussion started by: zorrox
9 Replies

7. UNIX for Dummies Questions & Answers

Grep and Print

Hi , I have data in below pattern 05:00:13,184 WARN ContentTransferService - CTS:createContent - File Name:470208627 Total time taken(ms):5137 05:00:13,184 WARN ContentTransferService - CTS:createContentWithFolderPath(uploadDocument) - File Name:295918481 User Id:xyz Total time... (5 Replies)
Discussion started by: Abhayman
5 Replies

8. Shell Programming and Scripting

Grep patterns and group counts

Hi, I have a continuous log file which has the following format:- 02/Sep/2015: IP 11.151.108.166 error occurred etc 03/Sep/2015: IP 11.151.108.188 error occurred etc 03/Sep/2015: IP 11.152.178.250 error occurred etc 03/Sep/2015: IP 11.188.108.176 error occurred etc 03/Sep/2015: IP... (4 Replies)
Discussion started by: finn
4 Replies
SHUF(1) 							   User Commands							   SHUF(1)

NAME
shuf - generate random permutations SYNOPSIS
shuf [OPTION]... [FILE] shuf -e [OPTION]... [ARG]... shuf -i LO-HI [OPTION]... DESCRIPTION
Write a random permutation of the input lines to standard output. With no FILE, or when FILE is -, read standard input. Mandatory arguments to long options are mandatory for short options too. -e, --echo treat each ARG as an input line -i, --input-range=LO-HI treat each number LO through HI as an input line -n, --head-count=COUNT output at most COUNT lines -o, --output=FILE write result to FILE instead of standard output --random-source=FILE get random bytes from FILE -r, --repeat output lines can be repeated -z, --zero-terminated line delimiter is NUL, not newline --help display this help and exit --version output version information and exit AUTHOR
Written by Paul Eggert. REPORTING BUGS
GNU coreutils online help: <http://www.gnu.org/software/coreutils/> Report shuf translation bugs to <http://translationproject.org/team/> COPYRIGHT
Copyright (C) 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. SEE ALSO
Full documentation at: <http://www.gnu.org/software/coreutils/shuf> or available locally via: info '(coreutils) shuf invocation' GNU coreutils 8.28 January 2018 SHUF(1)
All times are GMT -4. The time now is 06:30 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy