Help needed ....


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help needed ....
# 1  
Old 04-02-2008
Bug Help needed ....

Hi...
I have a folder /home/data ;where some files are present.
aaa_asas.txt
bbb_xxx.txt
ccc_xsxas.txt
ddd_sa2esa.txt
------
Also I have a file which is as follows.(/home/file1)
cat /home/file1
aaa you
bbb are
ccc very
ddd good
--------
now I want to rename all the files in the folder /home/data as below
you_asas.txt
are_xxx.txt
very_xsxas.txt
good_sa2esa.txt

In simple terms the script need to read each line (eg:- aaa) and match the pattern in the folder and if it exists it should rename with second column name (eg:- you)
can any body help me plzzzz.i m very new to scripting.. :-(
# 2  
Old 04-02-2008
Pleasehelp me Smilie Smilie Smilie Smilie
# 3  
Old 04-02-2008
Code:
cd /home/data

ls *.txt | awk '{
   if (NR != FNR) {
      split($0, s, "_")
      if (s[1] in t)
         "mv "$0" "t[s[1]]"_"s[2] | getline
   } else
       t[$1] = $2
}' /home/file1 -

# 4  
Old 04-02-2008
Thank you very much ...(one moer query...)

It works perfectly ...
however...
what should i do if my file name (in /home/data) is like the following.
qwerty_asdfg_0010_12.txt

and the home/file is
qwerty Thankyou

so that i will get the result as Thankyou_asdfg_0010_12.txt
# 5  
Old 04-02-2008
newbee1,

It's against our rules to bump up questions, please read the:

https://www.unix.com/unix-dummies-que...om-forums.html

Regards
# 6  
Old 04-02-2008
Code:
cd /home/data

ls *.txt | awk '{
    f = $0
    if (NR != FNR) {
        split(f, s, /_.*/)
        sub(s[1], "", f)
        if (s[1] in t)
            system("echo mv "$0" "t[s[1]]""f)
     } else
         t[$1] = $2
}' file -

# 7  
Old 04-02-2008
Remove the echo from the awk system() function before executing or it will simply echo the command (good...if you want to see what the final result would be like).

Code:
cd /home/data

ls *.txt | awk '{
    f = $0
    if (NR != FNR) {
        split(f, s, /_.*/)
        sub(s[1], "", f)
        if (s[1] in t)
            system("mv "$0" "t[s[1]]""f)
    } else
        t[$1] = $2
}' file -

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Help needed

First of all, let me state that I am a windows admin. I have a windows share mounted to /mnt/server I need a script that will either login as sudo or perform commands with sudo rights. I need the script to copy all of the users /home folders to the mounted windows share. Now If I can... (2 Replies)
Discussion started by: EricM
2 Replies

2. Linux

Help needed

hi experts, i am a beginner in AIX..recently got a chance to work with unix team. we have an interface server through which we connect to production servers.. there were lot of files inside root (/) of that interface server owned by different ppl...by mistake i changed the ownership and group of... (1 Reply)
Discussion started by: vinimerwe
1 Replies

3. Shell Programming and Scripting

Help Needed

please reply for this https://www.unix.com/shell-programming-scripting/111493-cutting-lines.html its really urgent (1 Reply)
Discussion started by: jojo123
1 Replies

4. Shell Programming and Scripting

help needed...

Guys, There is a file where there are 1000s of records. In the file if some condition satisfies in a certain TAB record (TAB would be first 3 digits of a certain record) then move TAB and all the records (or lines) after TAB to new_file, until another TAB record is encountered in the same... (1 Reply)
Discussion started by: Prat007
1 Replies

5. UNIX for Dummies Questions & Answers

Help needed please.

i've been given an assignment to Write a system utility called recycle that satisfies the following requirements as they might be displayed in a UNIX/Linux man page: NAME recycle - stores files in a recycle bin SYNOPSIS recycle ... DESCRIPTION Recycle is a replacement for the... (3 Replies)
Discussion started by: jerryboy78
3 Replies

6. UNIX for Dummies Questions & Answers

little help needed..

hi everyone i'm a noob trying to learn unix language.. but seems like i got no leads on how to start.. i'm playing with the 'ps' command.. i'm trying to show the pid, ppid, username, command, cpu utilization (in desc order), process start time and process status.. all in a command.. am i able... (3 Replies)
Discussion started by: hilofat
3 Replies

7. AIX

Little help needed.

Hello, I am quite new to AIX, but have Linux experience. Iam facing a peoblem with AIX 5.2 running on a 43p Model 150 (RS6000). I tried everyting and i cant have the network to run properly. :confused: /etc/hosts looks like this: 127.0.0.1 loopback localhost 192.168.XXX.XXX... (5 Replies)
Discussion started by: Netghost
5 Replies

8. UNIX for Dummies Questions & Answers

Help needed

HI can any one help me with the appropriate answers for the below: 1.Enter an # before a command and press .what do you see,and how do you think you can take advantage of the behaviour? 2.Is tar -cvfb20foo.tar*.c legitimate or not.will this command work without the - symbol? 3.The command... (1 Reply)
Discussion started by: akhil1460
1 Replies

9. UNIX for Dummies Questions & Answers

Help needed

Hello I am a newbie and want to learn unix . Does unix and linux are one and same. I have red hat linux cd but i want to take advice from some one wheather unix and linux are same. If not ,where i'll get a Unix os setup and how i'll install it. If linux would do then how should... (3 Replies)
Discussion started by: hunter87
3 Replies

10. Shell Programming and Scripting

Help is needed

Hi I'm trying to print a directories struct tree that will look like this: A _a _b _B __c __d __C ___e B _a _b I'm doing a recursion, but how can I know how much space is needed before printing after the recursion? (3 Replies)
Discussion started by: abcde
3 Replies
Login or Register to Ask a Question