Case sensitive awk file split


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Case sensitive awk file split
# 1  
Old 04-28-2012
Case sensitive awk file split

Hello all,
This is my first thread so please let me know if I am doing anything wrong or not following etiquette.

I have an input file that looks like
Code:
123a12345
345a12445
245a66792
245A12345
215A23566

and I want output files that look like
a.txt
Code:
123a12345
345a12445
245a66792

A.txt
Code:
245A12345
215A23566

I have been using:
Code:
awk ' BEGIN {FS=""} {print > $4".txt"} ' inputfile.txt

but it is not case sensitive.

Thoughts?

Last edited by Scrutinizer; 04-28-2012 at 03:22 PM.. Reason: code tags
# 2  
Old 04-28-2012
Your code is working for me on a Linux machine. What operating system are you using?
# 3  
Old 04-28-2012
I am working on cygwin on Windows. You successfully get both a.txt and A.txt files? I just get a.txt and it contains everything.
# 4  
Old 04-28-2012
You are out of luck, period.

Windows filesystem is case-insensitive. Cygwin is not a magical backdoor that can overcome this fundamental operating system limitation. It operates inside Windows and faces all the usual Windows limitations, bugs, and problems.
This User Gave Thanks to Corona688 For This Post:
# 5  
Old 04-28-2012
To illustrate: open a command prompt in Windows:
Code:
> echo text1 > A.txt
> type a.txt
text1
> echo text2 >> a.txt
> type a.txt
text1
text2

This User Gave Thanks to Scrutinizer For This Post:
# 6  
Old 04-28-2012
Thanks. I did not realize. It looks like I will have to find a different way around.
I could potentially give lowercase files a name like aa.txt but implementing the following code gives me syntax errors.

Code:
awk ' BEGIN {FS=""} {if ($4 == [A-Z]) print > $4".txt"; else print > $4$4".txt} ' inputfile.txt

Moderator's Comments:
Mod Comment code tags for code, please.
# 7  
Old 04-28-2012
You've got the right idea, but == means equal, not regex. ~ is a regex comparison.

Putting an expression in front of an outer code-block like that is an implied "if", by the way. "if this regex matches, print to this file and skip to the next line". Otherwise it doesn't print, and goes to the next block, which prints to a different filename.

Code:
awk 'BEGIN {FS=""}; $4 ~ /[A-Z]/ { print >$4".txt" ; next }; { print >$4 $4 ".txt" }' inputfile.txt

This User Gave Thanks to Corona688 For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Please help me in using case sensitive command

Hello All, Please help me with this I need to create a cronjob that should delete all files which are older than 30days with '*.txt' and should not delete files with '*TEST*.txt' either file name TEST is upper or test lower case sensitive here's the script /DIR -type f -name '*.txt'... (7 Replies)
Discussion started by: krish_007
7 Replies

2. Shell Programming and Scripting

Case sensitive in If loop .

Hi All, select app from the menu: ABC DEF GHI JKL ALL # ALL will select all the apps in the menu echo "Enter your option" read option; if then <execute the below command> elif # option is the 1 selection from menu...not ALL <execute the below command> else (14 Replies)
Discussion started by: Devaraj A
14 Replies

3. Shell Programming and Scripting

Awk-sed : Question getting case sensitive filed.

Experts, Good day!, I have following data, I want to filter 3rd Field, if it is in UPPERCASE, aa aa1 HOST1 aa bb1 host2 aa cc1 SERV1 aa dd1 SERV2 ab aa1 host3 The output should be: aa aa1 HOST1 aa cc1 SERV1 aa dd1 SERV2 (2 Replies)
Discussion started by: rveri
2 Replies

4. UNIX for Advanced & Expert Users

find iname is being case sensitive

Can someone please tell me why iname is being case sensitive with this? $ find /media -iname *load* 2>/dev/null /media/Part 2/stuff/Downloads /media/Part 1/Application Data/Mozilla/Firefox/Profiles/wnul4kj4.irc/chatzilla/downloads /media/Part 1/Bob_5-22-2010/Application... (5 Replies)
Discussion started by: cokedude
5 Replies

5. UNIX for Dummies Questions & Answers

How to take parameters as non case sensitive

Is there a way for me to take a parameter then store it in a variable and use its value as non case sensitive? Ex. Lets say i have a parameter which contains "Hey". Then im gonna store it to GR using GR=$1. CL=/install/$GR.g How can i make GR non case sensitive so that the... (1 Reply)
Discussion started by: khestoi
1 Replies

6. Solaris

Tcp_conn_req_max_q (CASE-sensitive?)

I was instructed by my superior to change kernel parameter, adding up this parameter to /etc/system. Server is Solaris 10 on SPARC. Tcp_conn_req_max_q 1024In my Google search, all I know that the sentence is in small case (tcp_conn_req_max_q) but as you can see above, instruction given... (4 Replies)
Discussion started by: Olli.Lang
4 Replies

7. Shell Programming and Scripting

Ignore case sensitive in Case Switch

In a Case switch, how to ignore case sensitive in the test: e.g. case "$field" in "TEST) action1;; *) action2;; esac How to go in action1 in case of $field = TEST , or Test , or test or .... without enumerating all possibilities... Thanks,... (1 Reply)
Discussion started by: annelisa
1 Replies

8. UNIX for Dummies Questions & Answers

how to disable case sensitive on RHEL ?

Hi all, Im newbie, can i disable case sensitive on RHEL environment, and how? Thank you. (2 Replies)
Discussion started by: blesets
2 Replies

9. UNIX for Dummies Questions & Answers

Is Hostname Case sensitive ?????

Hello users, I have a question ? I was just wondering whether the hostname on unix systems are case sensitive. For example in the system which I work. ping TestHost and ping testhost gives me the same output i.e I get the reply from the remote host Is this applicable for all... (3 Replies)
Discussion started by: ajphaj
3 Replies

10. UNIX for Dummies Questions & Answers

Unix user ID's case-sensitive?

It has been quite a while since I used UNIX. I am developing a security system and I was wondering if UNIX and/or LINUX user ID's are case-sensitive. i.e. can user 'daveb' and 'Daveb' exist on the same system with completely different authorizations/priorities, etc.? (3 Replies)
Discussion started by: dmilleville
3 Replies
Login or Register to Ask a Question