Sponsored Content
Full Discussion: awk with echo list
Top Forums Shell Programming and Scripting awk with echo list Post 303045814 by Chubler_XL on Tuesday 14th of April 2020 03:19:58 AM
Old 04-14-2020
<( list ) (process substitution) not available is sh, your first example was probably using bash to run the script.

You could try this instead:

Code:
col_list='{print $64,$64,$52,$64,$64,$33}'
tail -n +"${record_pstn}" "${file_name}" | /usr/bin/awk "$col_list" FS="${ifs}" OFS="${ofs}"

Or roll the tail command into awk like this:

Code:
col_list='{print $64,$64,$52,$64,$64,$33}'
/usr/bin/awk "FNR >= ${record_pstn} $col_list" FS="${ifs}" OFS="${ofs}" "${file_name}"


Last edited by Chubler_XL; 04-14-2020 at 04:26 AM..
This User Gave Thanks to Chubler_XL For This Post:
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

echo is too slow. HELP with Awk

Hello All, Below is a simple script i worte to find the 208th char in a file. If the char = "C" then I re-direct the line to a file called change.txt. If it is not "C" then I re-direct it to a file called delete.txt. My problem is I have a file 0f 500K lines. this script is very slow. I am... (4 Replies)
Discussion started by: eja
4 Replies

2. Shell Programming and Scripting

awk to echo ???

Hi All, I have the below command. awk 'BEGIN {printf("%1s","cat")}' > temp.txt can i do the same using echo ?If So, how? Thanks JS (2 Replies)
Discussion started by: jisha
2 Replies

3. Shell Programming and Scripting

Using echo in AWK

Hello, I have written the script below to extract specific data from a text file and then use the data extracted as parameters for another shell script call 'loto_tsim'. Everytime I run my script it complains about the 'echo' line. Am I missing something? I have spent hours and still cannot solve... (10 Replies)
Discussion started by: jermaine4ever
10 Replies

4. Shell Programming and Scripting

perform echo and awk inside a string

hi, just wanted to make a shortcut of this one a="a b c" b=`echo $a | awk '{print $2}'` echo "the middle is $b" why can't i do this: a="a b c" echo "the middle is ${`echo $a | awk '{print $2}'`}" <- bad substitution :wall: thanks (6 Replies)
Discussion started by: h0ujun
6 Replies

5. Shell Programming and Scripting

Improve performance of echo |awk

Hi, I have a script which looks like this. Input file data1^20 data2^30 #!/bin/sh file"/home/Test.txt" while read line do echo $line |awk 'BEGIN { FS = "^" } ; { print $2 }' echo $line |awk 'BEGIN { FS = "^" } ; { print $1 }' | gzip | wc -c done <"$file" How can i... (4 Replies)
Discussion started by: chetan.c
4 Replies

6. Shell Programming and Scripting

Problem with writing to output - awk, echo

Hello all, I wrote this command line for some calculation on my given input files based on another input file which is a txt file. while read BAM REGION; do samtools view $BAM $REGION | awk '{if ($2==0) print $0}' | wc -l >>log.txt; echo "$REGION"; done >> log.txt <regions.txt It takes... (4 Replies)
Discussion started by: @man
4 Replies

7. Shell Programming and Scripting

Combining echo and awk

i have a script that has many lines similar to: echo $var | awk -F"--" '{print $2}' as you can see, two commands are being run here. echo and awk. id like to combine this into one awk statement. i tried: awk -F"--" "BEGIN{print $var; print $2}" but i get error messages. (10 Replies)
Discussion started by: SkySmart
10 Replies

8. Shell Programming and Scripting

Echo awk output from its variable

Stumped with the formatting of the awk output when used with variables, e.g.: awk -F, 'BEGIN {OFS=","} print {$2,$3,$4}' $infile1 produces the desired output (with rows), but when echoing the variable below, the output is one continuous line var1=$(awk -F, 'BEGIN {OFS=","} print... (4 Replies)
Discussion started by: ux4me
4 Replies

9. UNIX for Beginners Questions & Answers

Need to save output of echo and awk to a file

Hi, I am generating a YAML file from a hosts file, but am having trouble saving it to a new file. hosts file 127.0.0.1 localhost 192.168.1.2 host1 192.168.1.3 host2 192.168.1.4 host3 192.168.1.5 host4 YAML file $ echo 'host_entries:' && awk '{printf " %s:\n ip:... (3 Replies)
Discussion started by: sand1234
3 Replies
cat(1)								   User Commands							    cat(1)

NAME
cat - concatenate and display files SYNOPSIS
/usr/bin/cat /usr/bin/cat [-nbsuvet] [file...] ksh93 cat [-bdenstuvABDEST] [file...] DESCRIPTION
/usr/bin/cat The cat utility reads each file in sequence and writes it on the standard output. Thus: example% cat file prints file on your terminal, and: example% cat file1 file2 >file3 concatenates file1 and file2, and writes the results in file3. If no input file is given, cat reads from the standard input file. ksh93 The cat built-in in ksh93 is associated with the /bin and /usr/bin paths. It is invoked when cat is executed without a pathname prefix and the pathname search finds a /bin/cat or /usr/bin/cat executable. cat copies each file in sequence to the standard output. If no file is specified, or if the file is -, cat copies from standard input starting at the current location. OPTIONS
/usr/bin/cat The following options are supported by /usr/bin/cat: -b Number the lines, as -n, but omit the line numbers from blank lines. -n Precede each line output with its line number. -s cat is silent about non-existent files. -u The output is not buffered. Buffered output is the default. -v Non-printing characters, with the exception of tabs, NEWLINEs and form feeds, are printed visibly. ASCII control characters (octal 000 - 037) are printed as ^n, where n is the corresponding ASCII character in the range octal 100 - 137 (@, A, B, C, . . ., X, Y, Z, [, , ], ^, and _); the DEL character (octal 0177) is printed ^?. Other non-printable characters are printed as M-x, where x is the ASCII character specified by the low-order seven bits. When used with the -v option, the following options can be used: -e A $ character is printed at the end of each line, prior to the NEWLINE. -t Tabs are printed as ^Is and form feeds to be printed as ^Ls. The -e and -t options are ignored if the -v option is not specified. ksh93 ksh93 cat supports the following options: -b --number-nonblank Number lines as with -n but omit line numbers from blank lines. -d --dos-input Open input files in text mode. Removes RETURNs in front of NEWLINEs on some systems. -e Equivalent to -vE. -n --number Insert a line number at the beginning of each line. -s Equivalent to -S for att universe and -B otherwise. -t Equivalent to -vT. -u --unbuffer Do not delay the output by buffering. -v --show-nonprinting Cause non-printing characters (with the exception of TABs, NEWLINEs, and form feeds) to be output as printable character sequences. ASCII control characters are printed as ^n, where n is the corresponding ASCII character in the range octal 100-137. The DEL character (octal 0177) is copied as ^?. Other non-printable characters are copied as M-x where x is the ASCII character specified by the low-order seven bits. Multi-byte characters in the current locale are treated as printable characters. -A --show-all Equivalent to -vET. -B --squeeze-blank Replace multiple adjacent NEWLINE characters with one NEWLINE. -D --dos-output Open output files in text mode. Insert RETURNs in front of NEWLINEs on some systems. -E --show-ends Insert a $ before each NEWLINE. -S --silent cat is silent about non-existent files. -T --show-blank Copies TABs as ^I and form feeds as ^L. OPERANDS
The following operand is supported: file A path name of an input file. If no file is specified, the standard input is used. If file is -, cat reads from the standard input at that point in the sequence. cat does not close and reopen standard input when it is referenced in this way, but accepts multiple occurrences of - as file. USAGE
See largefile(5) for the description of the behavior of cat when encountering files greater than or equal to 2 Gbyte ( 2^31 bytes). EXAMPLES
Example 1 Concatenating a File The following command writes the contents of the file myfile to standard output: example% cat myfile Example 2 Concatenating Two files into One The following command concatenates the files doc1 and doc2 and writes the result to doc.all. example% cat doc1 doc2 > doc.all Example 3 Concatenating Two Arbitrary Pieces of Input with a Single Invocation When standard input is a terminal, the following command gets two arbitrary pieces of input from the terminal with a single invocation of cat: example% cat start - middle - end > file when standard input is a terminal, gets two arbitrary pieces of input from the terminal with a single invocation of cat. If standard input is a regular file, example% cat start - middle - end > file would be equivalent to the following command: cat start - middle /dev/null end > file because the entire contents of the file would be consumed by cat the first time - was used as a file operand and an end-of-file condition would be detected immediately when -was referenced the second time. ENVIRONMENT VARIABLES
See environ(5) for descriptions of the following environment variables that affect the execution of cat: LANG, LC_ALL, LC_CTYPE, LC_MES- SAGES, and NLSPATH. EXIT STATUS
The following exit values are returned: 0 All input files were output successfully. >0 An error occurred. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: /usr/bin/cat +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ |CSI |Enabled | +-----------------------------+-----------------------------+ |Interface Stability |Committed | +-----------------------------+-----------------------------+ |Standard |See standards(5). | +-----------------------------+-----------------------------+ ksh93 +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ |Interface Stability |See below. | +-----------------------------+-----------------------------+ The ksh93 built-in binding to /bin and /usr/bin is Volatile. The built-in interfaces are Uncommitted. SEE ALSO
touch(1), attributes(5), environ(5), largefile(5), standards(5) NOTES
Redirecting the output of cat onto one of the files being read causes the loss of the data originally in the file being read. For example, example% cat filename1 filename2 > filename1 causes the original data in filename1 to be lost. SunOS 5.11 8 Apr 2008 cat(1)
All times are GMT -4. The time now is 01:20 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy