Sponsored Content
Full Discussion: Arranging files
Top Forums Shell Programming and Scripting Arranging files Post 302203271 by Vivek788 on Saturday 7th of June 2008 12:39:44 PM
Old 06-07-2008
Arranging files

Hi all,
This is program to identify and arrange programs(scripts) based on their she-bang values to a folder with the same name.
The parts of mkdir and copy and creating problems.I also doubt the use of hash...maybe some problems in it.
Please help out debugging this.

Code pasted at:
Paste Code

***Code also added by reborg:
Code:
1:  #!/usr/bin/perl -w
2:  use File::Find;
3:  use File::Copy;
4:  %ext=("perl",pl,"bash",sh,"sed","ed","awk","aw");
5:  find(\&call,".");
6:  sub call{
7:   $var=$File::Find::name ;
8:   open(fh,$var) or die "Couldn't open file"; 
9:   $line=<fh>;
10:  if($line=~/^\#!.*?(\w+)\s+/){$dir=$1;}
11:   $p= $ext{$dir};
12:  if($var=~/(\w+\.)\w+/)
13:  {$new=$1.$p;}
14:  else
15:  {$new=$var.".".$p;}
16:  mkdir $ext unless( -e $ext);
17:  $newfile=$dir."/".$new;
18:  rename($var,$new);
19:  copy("$new","$newfile") or die "$!";
20:  close(fh);
21: }


These are the errors

There are some parts that are incompletely done due the errors that are being faced now.
Unquoted string "pl" may clash with future reserved word at ./arrange line 4.
Unquoted string "sh" may clash with future reserved word at ./arrange line 4.
Unquoted string "fh" may clash with future reserved word at ./arrange line 8.
Unquoted string "fh" may clash with future reserved word at ./arrange line 19.
Use of uninitialized value in pattern match (m//) at ./arrange line 10.
Use of uninitialized value in hash element at ./arrange line 11.
Use of uninitialized value in concatenation (.) or string at ./arrange line 13.
Use of uninitialized value in -e at ./arrange line 16.
Use of uninitialized value in mkdir at ./arrange line 16.
Use of uninitialized value in concatenation (.) or string at ./arrange line 17.
Is a directory at ./arrange line 18.


Forgive me if these are due to silly mistakes,as I am just starting with perl.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Help with arranging data file

Dears, I have the below data, sss-aaaaaa 111211 222222 33333 22222 1163111 sss-vvvvvv 111311 224522 335633 24322 111511 sss-cccccc 111221 224522 333333 24322 111511 sss-dddddd 111211 222222 33333 22345222 113111 I want to make them like ... (7 Replies)
Discussion started by: yahyaaa
7 Replies

2. UNIX for Dummies Questions & Answers

Re-arranging lines of text... help?

Hello, I am new to Linux, and I am learning slowly but for surely. I am trying to currently figure out how to go about re-arranging lines of text of a *.txt file... Like for example: Say pool.txt has 20 lines of text, and the last 5 lines of text I want to move to the top of the *.txt file... (2 Replies)
Discussion started by: shorte85
2 Replies

3. Shell Programming and Scripting

need help in arranging the alias

Hello Guys, I have around 100 hosts setup as alias in my profile for easy sshing. alias ada='ssh -Y username@da.domain.com' alias ast='ssh -Y username@terix.domain.com' alias bb1='ssh -X username@ggserver.ns.domain.com' . . . . I now would like to use sshmenu software in which... (4 Replies)
Discussion started by: upengan78
4 Replies

4. Shell Programming and Scripting

arranging columns with AWK

Hi there! Can this be done with AWK? Several text files (file1, file2, etc) with different number of lines. Need to append each file to a Reference File (ReFile), and match each line of file1, file2 etc to the closest value in ReFile. Empty cells must be filled with NA, or 0. The number of lines... (2 Replies)
Discussion started by: sramirez
2 Replies

5. UNIX for Dummies Questions & Answers

Arranging data

I have thousand lines of data...: A 1 B 2 C 3 D 4 E 5 A 21 B 22 C 23 D 24 E 25 A 31 B 32 C 33 D 34 E 35 ........... ON AND AND ON (3 Replies)
Discussion started by: bobo
3 Replies

6. Shell Programming and Scripting

Arranging files in order of files_digits

Hi all, I have input files in some directory as: $ ls -ltr -rw-r--r-- 1 emily us_cms 101614219 Oct 8 15:47 vgtree_197_0_7pV.root -rw-r--r-- 1 emily us_cms 101348458 Oct 8 16:43 vgtree_518_0_LHB.root -rw-r--r-- 1 emily us_cms 101386298 Oct 8 16:50 vgtree_291_0_cWd.root -rw-r--r-- 1... (11 Replies)
Discussion started by: emily
11 Replies

7. Shell Programming and Scripting

Need Help in arranging the output

Hello All, Please find attached input and output files. I want to write a shell script to achieve this. I tried using awk but not getting how to do this as I am new to shell programming. Thanks (4 Replies)
Discussion started by: Sudeep Bhattad
4 Replies

8. UNIX for Dummies Questions & Answers

Arranging columns in a line

Hi, Please give a solution... Current File 200101701 A 5 B 283 D 222 200085506 A 5 B 6 C 304 200081406 A 5 200101784 D 1111Desired Output 200101701 A 0005 B 0283 * * D 222 ... (4 Replies)
Discussion started by: satyar
4 Replies

9. Shell Programming and Scripting

Need help in arranging data

I have a file with user activity and need to display only the start and end timestamp of the activity. I don't know how can we write an logic for this please help me in a bettr way to work on it User Activity_log ----------------------------------- ... (5 Replies)
Discussion started by: lazydev
5 Replies

10. UNIX for Beginners Questions & Answers

Help arranging text

By using this code how can we get the stars in inverted positions? str="*" for i in 1 2 3 4 5 do echo "$str" str="$str *" done The output should be like this * * * * * * * * * * * * * * * Please use CODE tags as required by forum rules!... (5 Replies)
Discussion started by: Meeran Rizvi
5 Replies
qmail-users(5)							File Formats Manual						    qmail-users(5)

NAME
qmail-users - assign mail addresses to users OVERVIEW
The file /var/lib/qmail/users/assign assigns addresses to users. For example, =joe.shmoe:joe:503:78:/home/joe::: says that mail for joe.shmoe should be delivered to user joe, with uid 503 and gid 78, as specified by /home/joe/.qmail. Assignments fed to qmail-newu will be used by qmail-lspawn to control qmail-local's deliveries. See qmail-newu(8). A change to /var/lib/qmail/users/assign will have no effect until qmail-newu is run. STRUCTURE
/var/lib/qmail/users/assign is a series of assignments, one per line. It ends with a line containing a single dot. Lines must not contain NUL. SIMPLE ASSIGNMENTS
A simple assignment is a line of the form =local:user:uid:gid:homedir:dash:ext: Here local is an address; user, uid, and gid are the account name, uid, and gid of the user in charge of local; and messages to local will be controlled by homedir/.qmaildashext. If there are several assignments for the same local address, qmail-lspawn will use the first one. local is interpreted without regard to case. WILDCARD ASSIGNMENTS
A wildcard assignment is a line of the form +loc:user:uid:gid:homedir:dash:pre: This assignment applies to any address beginning with loc, including loc itself. It means the same as =locext:user:uid:gid:homedir:dash:preext: for every string ext. A more specific wildcard assignment overrides a less specific assignment, and a simple assignment overrides any wildcard assignment. For example: +:alias:7790:2108:/var/lib/qmail/alias:-:: +joe-:joe:507:100:/home/joe:-:: =joe:joe:507:100:/home/joe::: The address joe is handled by the third line; the address joe-direct is handled by the second line; the address bill is handled by the first line. SEE ALSO
qmail-pw2u(8), qmail-newu(8), qmail-lspawn(8) qmail-users(5)
All times are GMT -4. The time now is 10:47 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy