Sponsored Content
Full Discussion: cat -n and grep
Top Forums Shell Programming and Scripting cat -n and grep Post 302385668 by kapu on Saturday 9th of January 2010 02:35:10 AM
Old 01-09-2010
cat -n and grep

I am not sure if using cat -n is the most efficient way to split a file into multiple files, one file per line in the source file.
I thought using cat -n would make it easy to process the file because it produces an output that numbers each line that I could then grep for with the regex "^ *$i". But, I find it hard to reduce the output to be just the line number shown in $i. I am trying to add spaces after the variable to reduce the output. But that has the effect of producing no output.

Code:
i=6 && cat -n qso | egrep "^ *$i"
     6  vvv vvv vvv km2a km2a de a8dd. r r r tnx fer call kevin. name reggie. your rst is 569. rig is ic738 es running 50 watts. my antenna is a 4 el beam. i live in lansing, michigan. here, the weather is damp, temp is 50 f. been a ham for 10 years. during the day im a brewer. over to you kevin. km2a de a8dd+

i=6 && cat -n qso | egrep "^ *$i " produces nothing.

The file named qso contains multiple lines of text.
My goal is to parse qso and send each line to its own file using the naming convention qso(n) for the individual files. an example of the first two lines of qso follows:

vvv vvv vvv kq2k de w7ghl w7ghl. tnx ricky. ur rst is 456 456 wid qsb. name hr is jimmy. rig here is an icom ic
706ii with 400 watts. im using a 3 el yagi. the qth is boise, idaho. hr wx is a bit overcast, temp is 29 f. i w
ork as a beautician. been licenced since 1953. bk to you. kq2k de w7ghl+kn ^M
vvv vvv vvv a5ln/0 a5ln/0 a5ln/0 de w6os. thanks for the call pam. name jane. ur rst 367 367 with qrm. i live i
n oceanside oceanside, california. i have a ft2000 es running 500 watts. ant is g5rv. wx here is nice. ive been
a ham since 1907. i work hr as a policeman. back to you pam, 73 es cu agn. a5ln/0 de w6os *^M


My failed attempt to begin making a regex to parse follows:
i=1 && cat -n qso | egrep "^ *$i "

any time I add a space after $i in the regex, it no longer matches anything.

Last edited by kapu; 01-09-2010 at 04:16 AM..
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

using cat and grep to display missing records

Gentle Unix users, Can someone tell me how I can use a combination of the cat and grep command to display records that are in FileA but missing in FileB. cat FileA one line at a time and grep to see if it is in fileB. If it is ignore. If line is not in fileB display the line. Thanks in... (4 Replies)
Discussion started by: jxh461
4 Replies

2. UNIX for Advanced & Expert Users

cat and grep not working

I am trying to cat a file and then grep that file for a number. I can do it fine on other files but this particular file will not do anything. I tried running it on an older file from the same device but it is just not working. The file is nothing more than a flat file on a unix box. Here is just a... (3 Replies)
Discussion started by: jphess
3 Replies

3. Shell Programming and Scripting

cat /etc/passwd and grep -v on /etc/shells

Hi All, I'd like to do this cat /etc/passwd and grep -v on the /etc/shells list I'd like to find all shell that doesn't exist on the /etc/passwd. Is there an easy way without doing a egrep -v "/bin/sh|/bin/bash................"? How do I use a file /etc/shells as my list for... (4 Replies)
Discussion started by: itik
4 Replies

4. Shell Programming and Scripting

grep or cat using sed

Is there a way using grep or cat a file to create a new file based on whether the first 9 positions of each record is less than 399999999? This is a fixed file format. (3 Replies)
Discussion started by: ski
3 Replies

5. Shell Programming and Scripting

Directing cat or grep command in variable

Hi, I still have the problem with directing information from cat or grep to a variable. For instance: XMSG "$(date +%Y_%m_%d)_error_report.txt" "$(cat "$(date +%Y_%m_%d)_error_report.txt")" &Works! The text received by cat is directed to my function. If it is written like this, my... (2 Replies)
Discussion started by: haukee
2 Replies

6. UNIX for Dummies Questions & Answers

Grep and cat combined

Hello, i need to search one word (snp1) from many files and copy the content of the columns of this word in new file. example: file 1: SNP BP CHR P snp1 1 3 0.01 snp2 2 2 0.05 . . file 2: SNP BP CHR P snp1 1 3 0.06 snp2 2 2 0.3 output... (6 Replies)
Discussion started by: biopsy
6 Replies

7. Shell Programming and Scripting

Replace cat and grep with <

Hello someone told me to use OS=`awk '{print int($3)}' < /etc/redhat-release` instead of OS=cat /etc/redhat-release | `awk '{print int($3)}'` any idea for the reason ? (5 Replies)
Discussion started by: nimafire
5 Replies

8. Shell Programming and Scripting

Incredibly inefficient cat | grep script

Hi there, I have 2 files that I am trying to work on. File 1 contains a reference list of unique subscriber numbers ( 7 million entries in total) File 2 contains a list of the subscriber numbers and their tariff (15 million entries in total). This file is in the production system and... (12 Replies)
Discussion started by: Cludgie
12 Replies

9. UNIX for Dummies Questions & Answers

Grep or cat The Whole Directory PROBLEMS :(

Hi Guys This is my first post so I am not sure how things go here. I'm sorry if I'm breaking the rule or something. Feel free to correct me about that :) So as I was saying... I'd been trying to grep this folder containing 900,000 txt files but seems no luck. I get either "No such file... (6 Replies)
Discussion started by: Nexeu
6 Replies

10. UNIX for Dummies Questions & Answers

Highlighting specific column in cat/grep

I have a large * delimited text file and need to highlight specific columns on specific lines. The file looks similar to this: ABC*01*00*01*00000 000000 *00000 000000 *35*0*0*0*0*20000*0*0*1*0000*00*4*0*3*0*0*1*0* *35*0000*001*4*1OT2*0148*0*0*0*0*0*0*6A7801B0**TEST1... (1 Reply)
Discussion started by: say170
1 Replies
ENGINE(1SSL)							      OpenSSL							      ENGINE(1SSL)

NAME
openssl-engine, engine - load and query engines SYNOPSIS
openssl engine [ engine... ] [-v] [-vv] [-vvv] [-vvv] [-vvv] [-c] [-t] [-tt] [-pre command] [-post command] [ engine... ] DESCRIPTION
The engine command is used to query the status and capabilities of the specified engine's. Engines may be specified before and after all other command-line flags. Only those specified are queried. OPTIONS
-v -vv -vvv -vvvv Provides information about each specified engine. The first flag lists all the possible run-time control commands; the second adds a description of each command; the third adds the input flags, and the final option adds the internal input flags. -c Lists the capabilities of each engine. -t Tests if each specified engine is available, and displays the answer. -tt Displays an error trace for any unavailable engine. -pre command -post command Command-line configuration of engines. The -pre command is given to the engine before it is loaded and the -post command is given after the engine is loaded. The command is of the form cmd:val where cmd is the command, and val is the value for the command. See the example below. EXAMPLE
To list all the commands available to a dynamic engine: $ openssl engine -t -tt -vvvv dynamic (dynamic) Dynamic engine loading support [ unavailable ] SO_PATH: Specifies the path to the new ENGINE shared library (input flags): STRING NO_VCHECK: Specifies to continue even if version checking fails (boolean) (input flags): NUMERIC ID: Specifies an ENGINE id name for loading (input flags): STRING LIST_ADD: Whether to add a loaded ENGINE to the internal list (0=no,1=yes,2=mandatory) (input flags): NUMERIC DIR_LOAD: Specifies whether to load from 'DIR_ADD' directories (0=no,1=yes,2=mandatory) (input flags): NUMERIC DIR_ADD: Adds a directory from which ENGINEs can be loaded (input flags): STRING LOAD: Load up the ENGINE specified by other settings (input flags): NO_INPUT To list the capabilities of the rsax engine: $ openssl engine -c (rsax) RSAX engine support [RSA] (dynamic) Dynamic engine loading support ENVIRONMENT
OPENSSL_ENGINES The path to the engines directory. SEE ALSO
config(5) COPYRIGHT
Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>. 1.1.1a 2018-12-18 ENGINE(1SSL)
All times are GMT -4. The time now is 04:24 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy