look for specific values in a file and rename file with value found


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers look for specific values in a file and rename file with value found
# 8  
Old 07-02-2012
If u know the position of the char then cut will do. But still not clear whether you would be looking at the 3 patterns or more.

Code:
mv File.txt File_`egrep 'A756$|B234$|C987$' File.txt | cut -c 17-20 | head -1`.txt

If you have any more pattern, you may include them in the egrep
This User Gave Thanks to Athix For This Post:
# 9  
Old 07-02-2012
Hi Jay,
sorry ...

only these 3 strings , but each time only one string will be found and it can be found any of the line ..if we found ..the postion of string is always 17th cahracter postion from the start of the line...
i hope this is some what clear..

Thanks

---------- Post updated at 10:40 AM ---------- Previous update was at 09:09 AM ----------

Hi Athix its working...

Thanks
# 10  
Old 07-02-2012
Will it ever be the case that *more than one* of the three strings "A756", "B234", or "C987" can be found in your files? If so, what do we do then?
# 11  
Old 07-02-2012
Hey mate, try it this way. Add all the pattern in a file called pattern.

Code:
$ cat pattern
A756
B234
C987

Code:
#!/usr/bin/bash

# script will check for the file pattern in "File" and if found creates a new file with File_Pattern

FILE=/home/wherever/File
cat /home/wherever/pattern | while read LINE
        do
        search=$(grep -c $LINE $FILE)
          if [ $search != 0 ]
                then
                echo "Pattern Found : $LINE"
                echo "renaming the File with File_$LINE"
                `mv /home/wherever/File /home/wherever/File_$LINE`
                exit
                else
                echo "did not find pattern"
                exit 1
          fi
        done

Note that the script is assuming only one set of pattern will be present in File at any time. The script will fail if A756 or B324 are present in the same File.

Thanks
This User Gave Thanks to Irishboy24 For This Post:
# 12  
Old 07-02-2012
you could try this....
1) set an array of values
2) search for these in your file
3) if found, rename file, else move on to the next one

Code:
x=0
set -A STRING A756 B234 C987
while [ "$x" -le "${#STRING[*]} ]
do
  FIND=`echo "${STRING[$x]}"`
  grep -i $FIND <file_to_search>
  if [ "$FIND"  = "" ]
  then
     break
  else
     mv <file_to_search> $FIND_found.txt
  fi
done

 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk to change specific string to new value if found in text file

I am trying to use awk to change a specific string in a field, if it is found, to another value. In the tab-delimited file the text in bold in $3 contains the string 23, which is always right before a ., if it is present. I am trying to change that string to X, keeping the formatting and the... (3 Replies)
Discussion started by: cmccabe
3 Replies

2. Shell Programming and Scripting

Rename text file with a specific pattern in directory

I am trying to rename all text files in a directory that match a pattern. The current command below seems to be using the directory path in the name and since it already exists, will not do the rename. I am not sure what I am missing? Thank you :). Files to rename in... (3 Replies)
Discussion started by: cmccabe
3 Replies

3. Shell Programming and Scripting

Rename specific file extension in directory with match to another file in bash

I have a specific set (all ending with .bam) of downloaded files in a directory /home/cmccabe/Desktop/NGS/API/2-15-2016. What I am trying to do is use a match to $2 in name to rename the downloaded files. To make things a more involved the date of the folder is unique and in the header of name... (1 Reply)
Discussion started by: cmccabe
1 Replies

4. Shell Programming and Scripting

Rename values in file

Dear all, I have a problem that i cannot solve and I hope someone here can help me. I have a huge tab delimited text file with two columns in relation. The values in the first column can be redundant and one copy of that value can exist in the second column. My question is how to simplify... (5 Replies)
Discussion started by: Higgo
5 Replies

5. Shell Programming and Scripting

Get specific values from a file, help

Dear all, I have a specific problem that i cannot solve and I hope someone here can help me. :) I have two text files with one column of values. Example: File1: 67 94 95 . . File2 0.1 0.003 0.5 . . (3 Replies)
Discussion started by: Higgo
3 Replies

6. Shell Programming and Scripting

Rename the file with specific pattern

Hello I am making a script where I need to rename the files but with different names.The file name could be change according to the product I made a logic but that is not working properly arr=$(echo a@b@c | tr "@" "\n") echo $arr output is a b c arry=$(echo d@e@f | tr "@" "\n") ... (4 Replies)
Discussion started by: anuragpgtgerman
4 Replies

7. Shell Programming and Scripting

Rename a file based on a specific separator

Hello, I am new to shell I have a folder which contains a list of files, all the files contain the separator : I need to replace this character for all the filenames (by batch) ex: hello:world should become hello-world please help Thanks (3 Replies)
Discussion started by: sikilaklak
3 Replies

8. Shell Programming and Scripting

extract specific string and rename file

Hi all, I am working on a small prog.. i have a file.txt which contains random data... K LINES V4 ADD CODE `COMPANY` ADD CODE `DISTRIBUTOR` SEQ NAME^K LINES V5 SEQ NAME^K LINES V6 ADD `PACK-LDATE` SEQ NAME^K^KCOMMAND END^KHEADINFO... (1 Reply)
Discussion started by: mukeshguliao
1 Replies

9. Shell Programming and Scripting

to extract specific values twice in a file

Hi Friends, I have a file with the following values.. xyz.txt,12345.xml abc.txt,04567.xml cde.txt,12134.xml I would like to extract all the 2nd column values twice as shown in the example like 12345,12345.xml 04567,04567.xml 12134,12134.xml Please advice!! In the formus one of... (7 Replies)
Discussion started by: techmoris
7 Replies

10. UNIX for Dummies Questions & Answers

finding specific values in a within a file

Hi everyone, Can anyone guide me on how to search through a huge file and look on specific column and if it finds a discrepancy on that column that does not conform to the specified criteria, ie (1) Numeric and (3) alpha chars F123 or G333..etc, etc! then idientify it and redirect... (3 Replies)
Discussion started by: Gerry405
3 Replies
Login or Register to Ask a Question