Visit Our UNIX and Linux User Community


awk - print new line


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting awk - print new line
# 1  
Old 10-18-2009
awk - print new line

Hi!
Could you pls help me with my problem?
My task is to find the longest line in several files - that's not the problem
the problem is, I want command bellow to be stored in array, but one result per line:
Code:
set line = (`cat $file | awk '{print NR, length, $0, "\n"}' | grep "^[0-9]* $longest"`)

the output of command
Code:
foreach r ($line)
    echo "Output: $r"
end

is:

Output: 2
Output: 2
Output: 22
Output: 3
Output: 2
Output: aa

but it should look like this:
Output: 2 2 22
Output: 3 2 aa

(in other words - I need command set line..... to be an array of lines, not words)

thanks a lot
# 2  
Old 10-18-2009
Quote:
Originally Posted by laco42
Hi!
Could you pls help me with my problem?

Top Ten Reasons not to use the C shell
Csh problems
Csh Programming Considered Harmful
Quote:
My task is to find the longest line in several files - that's not the problem
the problem is, I want command bellow to be stored in array, but one result per line:
Code:
set line = (`cat $file | awk '{print NR, length, $0, "\n"}' | grep "^[0-9]* $longest"`)

the output of command

In a real scripting shell, you would set the field separator to a newline:

Code:
IFS='
'
line=( $( awk '{print NR, length, $0, "\n"}' "$file" | grep "^[0-9]* $longest" ) )

I don't see an equivalent in csh, but I only gave the man page a quick glance.
# 3  
Old 10-18-2009
Quote:
Originally Posted by laco42
My task is to find the longest line in several files - that's not the problem
You just complicate your life Smilie
Code:
awk '{max=(max>NF)?max:NF}END{print max}' *

for any file in current directory
# 4  
Old 10-19-2009
Quote:
Originally Posted by cfajohnson
Code:
IFS='
'
line=( $( awk '{print NR, length, $0, "\n"}' "$file" | grep "^[0-9]* $longest" ) )

I got the following error: Unmatched '. or when I modify it:
Code:
IFS='\
  '

IFS=
: Command not found.


danmero: well, but I need to print the whole line (not just its length) - and if there are more line with max length, print them all

Previous Thread | Next Thread
Test Your Knowledge in Computers #521
Difficulty: Medium
0b110010000001 = 2^11 + 2^10 + 2^7 + 2^0
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk to print the line that matches and the next if line is wrapped

I have a file and when I match the word "initiators" in the first column I need to be able to print the rest of the columns in that row. This is fine for the most part but on occasion the "initiators" line gets wrapped to the next line. Here is a sample of the file. caw-enabled ... (3 Replies)
Discussion started by: kieranfoley
3 Replies

2. Shell Programming and Scripting

awk print everything in new line

Hi, I have the following file and I would like to print everything to new line and the field seperator should be the dash (-). /usr/java/jdk1.6.0_30/bin/java -Dprogram.name=run.sh -server -XX:PermSize=512m -XX:MaxPermSize=512m -XX:NewSize=1g -XX:MaxNewSize=1g -Xmx3g -Xms3g... (3 Replies)
Discussion started by: kmaq7621
3 Replies

3. Shell Programming and Scripting

awk script -print line when $2 > $2 of previous line

Hi all, From a while loop I am reading a sorted file where I want to print only the lines that have $1 match and $2 only when the difference from $2 from the previous line is > 30. Input would be like ... AN237 010 193019 0502 1 CSU Amoxycillin AN237 080 ... (2 Replies)
Discussion started by: gafoleyo73
2 Replies

4. Shell Programming and Scripting

awk to print in a line

hi all, i have text file with sample text 01 02 .. abc .. def .. xyz .. x12 03 04 .. z123 .. x234 (6 Replies)
Discussion started by: posner
6 Replies

5. UNIX for Dummies Questions & Answers

awk...print first line...

hello all, I am trying to use the AWK cmd on unix and trying to figre out how i can only print the first line and now rest of the line...so for example... $ lsnrctl version|grep Version| awk '{print $5}'| awk -F. '{print $1}'|uniq 11 NT Adapter for but i only want 11 to print out there... (3 Replies)
Discussion started by: abdul.irfan2
3 Replies

6. Shell Programming and Scripting

awk to print on the same line

Hi all, I've a script that uses awk to parse the output of wget during a database update. The code I use is: wget -c ftp://ftpsite/file 2>&1 | awk '/0%/ {print}'But this spits out each progress line on a new line: 37250K .......... .......... .......... .......... .......... 80% 10.9M 1s ... (2 Replies)
Discussion started by: euval
2 Replies

7. Shell Programming and Scripting

awk, Why does it print the same line twice?

awk '{print ; print '""'}' in.txt >inf.txt (2 Replies)
Discussion started by: cola
2 Replies

8. Shell Programming and Scripting

awk print the next line on the current line

Ok I have a file with hundreds of lines, four columns, space delimited, TESTB.TXT for example TESTB.TXT --- AA ZZ 12 34 BB YY 56 78 CC XX 91 23 DD VV 45 67 --- I want a new file that has 7 columns, the first four are identical, and the next 3 are the last three of the next line...so... (5 Replies)
Discussion started by: ajp7701
5 Replies

9. Shell Programming and Scripting

print any required line by its line no using awk and its NR variable

how to print any required line by its line no using awk and its NR variable for eg: ------------ 121343 adfdafd 21213sds dafadfe432 adf.adf%adf --------------- requied o/p if give num=3 it print: 21213sds -------------------------------------- (2 Replies)
Discussion started by: RahulJoshi
2 Replies

10. UNIX for Dummies Questions & Answers

awk print line

Hi All, I know that i can print the lines from awk just using the print method, but i need to print stuff before it i.e: BEGIN { i=0 } { i++ print i ")" print } END { } Here the output is: (7 Replies)
Discussion started by: Chiefos
7 Replies

Featured Tech Videos