AWK with nondelimited files


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting AWK with nondelimited files
# 1  
Old 11-08-2010
AWK with nondelimited files

Greets all. I have a record "123456789" and I wish to print $1$2"," and $8-EOL

I have looked many places. I have tried gawk -F"" but no luck. I appreciate your help.

Most sincerely,
Rick
# 2  
Old 11-08-2010
What would be $1, $2, and $8 in your example? Anyway, with non-delimited files cut might better suit your needs.
# 3  
Old 11-08-2010
Try it with a space between -F and the quotes "":
Code:
awk -F ""

instead of:
Code:
awk -F""

# 4  
Old 11-08-2010
Quote:
Originally Posted by pludi
What would be $1, $2, and $8 in your example? Anyway, with non-delimited files cut might better suit your needs.
I've always found cut a pain to use it's so limited e.g. If I wanted fields $8, $8 and $2 it outputs the fields in input order and only once! Not what I asked for:
Code:
$ echo "123456789" | cut -c8,8,2
28
$ echo "1,2,3,4,5,6" | cut -d, -f5,2,1-2
1,2,5

# 5  
Old 11-08-2010
Making my post clearer

I wasn't clear enough. I want to print out, from an undelimited record, for example: 1234567890 is the record and I want to print the third and fourth characters, then everything from the eighth to the end of the line.

Thanks again,
Rick
# 6  
Old 11-08-2010
Code:
echo 123456789 |awk -F "" '{print substr($0,3,2) substr($0,8)}'

3489

# 7  
Old 11-08-2010
Quote:
Originally Posted by rdettwyler
I wasn't clear enough. I want to print out, from an undelimited record, for example: 1234567890 is the record and I want to print the third and fourth characters, then everything from the eighth to the end of the line.

Thanks again,
Rick
Well, this is one of the rare cases where cut will actually do what you need (as you want characters in the source order and you don't require any duplicates):

Code:
$ echo "123456789ABCDEF" | cut -c3-4,8-
3489ABCDEF

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How do you tell awk to use different files?

Hi everyone, How can you tell awk to switch the input file at a given point in the program when you you have multiple file inputs? I always assumed that if you divided your code into blocks, awk would understand that the first block contains instructions for file1, the second block contains... (5 Replies)
Discussion started by: Avro1986
5 Replies

2. Shell Programming and Scripting

awk command to compare a file with set of files in a directory using 'awk'

Hi, I have a situation to compare one file, say file1.txt with a set of files in directory.The directory contains more than 100 files. To be more precise, the requirement is to compare the first field of file1.txt with the first field in all the files in the directory.The files in the... (10 Replies)
Discussion started by: anandek
10 Replies

3. Shell Programming and Scripting

awk, multiple files input and multiple files output

Hi! I'm new in awk and I need some help. I have a folder with a lot of files and I need that awk do something in each file and print a new file with the output. The input file name should be modified when I print the outpu files. Thanks in advance for help! :-) ciao (5 Replies)
Discussion started by: gabrysfe
5 Replies

4. Shell Programming and Scripting

Comparing the matches in two files using awk when both files have their own field separators

I've two files with data like below: file1.txt: AAA,Apples,123 BBB,Bananas,124 CCC,Carrot,125 file2.txt: Store1|AAA|123|11 Store2|BBB|124|23 Store3|CCC|125|57 Store4|DDD|126|38 So,the field separator in file1.txt is a comma and in file2.txt,it is | Now,the output should be... (2 Replies)
Discussion started by: asyed
2 Replies

5. Shell Programming and Scripting

Apply 'awk' to all files in a directory or individual files from a command line

Hi All, I am using the awk command to replace ',' by '\t' (tabs) in a csv file. I would like to apply this to all .csv files in a directory and create .txt files with the tabs. How would I do this in a script? I have the following script called "csvtabs": awk 'BEGIN { FS... (4 Replies)
Discussion started by: ScKaSx
4 Replies

6. UNIX for Dummies Questions & Answers

Using AWK: Extract data from multiple files and output to multiple new files

Hi, I'd like to process multiple files. For example: file1.txt file2.txt file3.txt Each file contains several lines of data. I want to extract a piece of data and output it to a new file. file1.txt ----> newfile1.txt file2.txt ----> newfile2.txt file3.txt ----> newfile3.txt Here is... (3 Replies)
Discussion started by: Liverpaul09
3 Replies

7. Shell Programming and Scripting

Comparison and editing of files using awk.(And also a possible bug in awk for loop?)

I have two files which I would like to compare and then manipulate in a way. File1: pictures.txt 1.1 1.3 dance.txt 1.2 1.4 treehouse.txt 1.3 1.5 File2: pictures.txt 1.5 ref2313 1.4 ref2345 1.3 ref5432 1.2 ref4244 dance.txt 1.6 ref2342 1.5 ref2352 1.4 ref0695 1.3 ref5738 1.2... (1 Reply)
Discussion started by: linuxkid
1 Replies

8. UNIX for Dummies Questions & Answers

Using Awk within awk to read all files in directory

I am wondering if anyone has any idea how to use an awk within awk to read files and find a match which adds to count. Say I am searching how many times the word crap appears in each files within a directory. How would i do that from the command prompt ... thanks (6 Replies)
Discussion started by: flevongo
6 Replies

9. Shell Programming and Scripting

Merge files of differrent size with one field common in both files using awk

hi, i am facing a problem in merging two files using awk, the problem is as stated below, file1: A|B|C|D|E|F|G|H|I|1 M|N|O|P|Q|R|S|T|U|2 AA|BB|CC|DD|EE|FF|GG|HH|II|1 .... .... .... file2 : 1|Mn|op|qr (2 Replies)
Discussion started by: shashi1982
2 Replies

10. Shell Programming and Scripting

Splitting input files into multiple files through AWK command

Hi, I needs to split *.txt files from single directory depends on the some mutltiple input values. i have wrote the code like below for file in *.txt do grep -i -h "value1|value2" $file > $file; done. My requirment is more input values needs to be given in grep; let us say 50... (3 Replies)
Discussion started by: arund_01
3 Replies
Login or Register to Ask a Question