Need separate vi files in shell


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Need separate vi files in shell
# 8  
Old 11-13-2015
Hi Cudic,

I did't get you could you pleae elaborate your solution.

do i need to include above awk you provided in Yoda's script?

---------- Post updated at 12:38 PM ---------- Previous update was at 12:33 PM ----------

Hello Rudic,

I tried below it did't worked
Code:
awk '!/^ '
        NF && !/^ / {
                ofile = $1
                next
        }
        NF && /^ / {
                print $1 >> ofile
                close(ofile)
        }
'   / {OFN=$1; next} {print > OFN}' test1

# 9  
Old 11-13-2015
Does it work to satisfaction as is? If yes, why incorporate it anywhere?

It checks for leading <TAB>s. If not found, use field as a file name. If found, print line into that file.
This User Gave Thanks to RudiC For This Post:
# 10  
Old 11-13-2015
Try this instead since it is <TAB> separated:-
Code:
awk -F'[\t ]' '
        NF == 1 {
                ofile = $1
                next
        }
        NF == 2  {
                print $2 > ofile
        }
' input.txt

EDIT: Solaris/SunOS use nawk instead.

Last edited by Yoda; 11-13-2015 at 01:49 PM..
This User Gave Thanks to Yoda For This Post:
# 11  
Old 11-13-2015
Can someone help me on this please? Its not working as expected
# 12  
Old 11-13-2015
Quote:
Originally Posted by buzzme

Hi Cjcox

i ahve run command you posted. It has created files for each users,thats not expected. It has created almost 1 million files
did you reallly replace the space-^I in those charset sequences with space-<tab key>?

It should work pretty much anywhere. Sp those char set sequences are either:

[<space><tab>]
or
[^<space><tab>]

Sorry it's hard to see those.... you can try [[:space:]] and [^[:space:]] if supported...

Code:
(sed  -e '/^[[:space:]]*$/d' -e '1s/^\([^[:space:]].*\)/ cat >"\1" <<EOF/' -e '2,$s/^\([^[:space:]].*\)/cat >"\1" <<EOF/' -e '/^cat/i\EOF' -e 's/^[[:space:]]*//' input.txt;echo 'EOF') | sh

This User Gave Thanks to cjcox For This Post:
# 13  
Old 11-14-2015
If we knew WHAT is "not working as expected" there might be a chance we could help. What's your OS, shell, awk version? What's the result of applying the solutions given to the small sample file you gave in post#6?
This User Gave Thanks to RudiC For This Post:
# 14  
Old 11-14-2015
Quote:
Originally Posted by buzzme
Hi Yoda,

i have executed script and it has written nothing.
HTML Code:
awk '
        NF && !/^ / {
                ofile = $1
                next
        }
        NF && /^ / {
                print $1 >> ofile
                close(ofile)
        }
' input.txt

Hi buzzme ,
Yoda script is working in my OS and creating files in same directory with exact requirement and the data you provided.

Last edited by looney; 11-14-2015 at 05:56 AM..
This User Gave Thanks to looney 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

Tar with variable date in separate shell

Hi, I am trying to Zip a folder inside a shell script like below. It successfully taring but it only returns Null inside the variables. Searched a lot but no clue to finding the root cause. testno=1; date=20171128; DIR=/root/ sh -c 'cd $DIR; tar cvf "AWS.${testno.${date}.tar" "./AWS"' ... (5 Replies)
Discussion started by: pradyumnajpn10
5 Replies

2. Shell Programming and Scripting

Output in separate files

Hi all, i have the bash script for remote conection, for hosts in $(cat /list); do ssh user1@$hosts "hostname"; done execute hostname command by all hosts and show standar ouput, how i can send to file by each host in lists, so e.g. $cat list 10.0.0.1 10.0.0.2... (1 Reply)
Discussion started by: aav1307
1 Replies

3. UNIX for Dummies Questions & Answers

Intersect of two columns in two separate files

Hi, I have a file like this: abc def ghi jkl mno My second file is like this (tab delimited): adsad sdfsdf dfdf wads abc dfdsf sdsf jkl sfsdf dsfds sdfd reor zxczd dsf sff Now, I want the code to report the lines (from file2) which have common strings in column 2 with the first... (4 Replies)
Discussion started by: a_bahreini
4 Replies

4. Web Development

Two separate domains - and files

Hi, I've been asked to 'troubleshoot' a webserver where two different TLDs are being served. Or to be more accurate, 'domain.com' and 'domain.fr'. So we have /var/www/domain.com /var/www/domain.fr And then for some reason, the httpd.conf file points to two different configuration files.... (1 Reply)
Discussion started by: davidm123SED
1 Replies

5. Shell Programming and Scripting

Using bash to separate files files based on parts of a filename

Hey guys, Sorry for the basic question but I have a lot of files that I want to separate into groups based on filenames which I can then cat together. Eg I have: (a_b_c.txt) WB34_2_SLA8.txt WB34_1_SLA8.txt WB34_1_DB10.txt WB34_2_DB10.txt WB34_1_SLA8.txt WB34_2_SLA8.txt 77_1_SLA8.txt... (1 Reply)
Discussion started by: Breentax
1 Replies

6. Shell Programming and Scripting

Comparing columns in two separate files

Hey all, I have a file structure that looks something like this: file1 306708278 88954535 234167885 file2 2012-03-27T12:32:56+00:00 137 Orchotorena 184616310003601409 306708278 es 40.4777947 Majadahonda -3.6416896333333333 0 false atlante83 "<a href=""http://tapbots.com/tweetbot""... (8 Replies)
Discussion started by: dgaff
8 Replies

7. Shell Programming and Scripting

Need help with shell, trying to append or separate values in a string

Ok. I for the life of me cant figure out how to do this. I need Help. So here is what I'm trying to do. I have a block of text. They are FIPS codes for counties. Below is the block. There are probably a few ways to do this. The first line starting with ARC021....... this line is a list of... (2 Replies)
Discussion started by: chagan02
2 Replies

8. Shell Programming and Scripting

Separating Pattern Into Separate Files

I am trying to separate a specific pattern match into separate files. Sometimes there is only one pattern match, but other times there could be multiple (up to 6 or 8). Pattern is as follows - its starts with NYZ or VTZ and ends with $$. Again looking to get those blocks of data from one big... (17 Replies)
Discussion started by: Double-E
17 Replies

9. Shell Programming and Scripting

Separate String Shell Script

Hi guys, I am a beginner in shell script.. How can I separate a string coming from a parameter in spaces ? Ex: input: test.sh abcd output: a b c d Thanks Dusse (15 Replies)
Discussion started by: dusse
15 Replies

10. Shell Programming and Scripting

Break a file into separate files

Hello I am facing a scenario where I have a file with XML content and I am running shell script over it. But the problem is the XML is getting updated with new services. In the below scenario, my script takes values from the xml file from one service name say ABCD. Since there are multiple, it is... (8 Replies)
Discussion started by: chiru_h
8 Replies
Login or Register to Ask a Question