Errors trying to use all files of a type


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Errors trying to use all files of a type
# 1  
Old 09-15-2015
Errors trying to use all files of a type

I am trying to create a code that will use all the bam files stored on a separate drive (/media/cmccabe/C2F8EFBFF8EFAFB9/pool_I_090215), run them in a program that I have changed the directory to, and the output gets re-directed to (/home/cmccabe/Desktop/NGS/pool_I_090215). I have tried the script two ways getting two different errors and cant seem to fix it. the bold in the second error is the output so why is it looking for those files Thank you Smilie.

Code:
cmccabe@HPZ640:~$ cd "/home/cmccabe/Desktop/NGS"
cmccabe@HPZ640:~/Desktop/NGS$ for f in /media/cmccabe/C2F8EFBFF8EFAFB9/pool_I_090215/*.bam do prefix=${f%%.bam} samtools view -H $f | sed '/^@PG/d' | samtools reheader - $f > /home/cmccabe/Desktop/NGS/pool_I_090215/${prefix}_newheader.bam done

bash: syntax error near unexpected token `|'


cmccabe@HPZ640:~/Desktop/NGS$ for f in /media/cmccabe/C2F8EFBFF8EFAFB9/pool_I_090215/*.bam
> do
> prefix=${f%%.bam}
> samtools view -H $f | sed '/^@PG/d' | samtools reheader - $f > /home/cmccabe/Desktop/NGS/pool_I_090215/${prefix}_newheader.bam
> done

bash: /home/cmccabe/Desktop/NGS/pool_I_090215//media/cmccabe/C2F8EFBFF8EFAFB9/pool_I_090215/IonXpress_008_150902_newheader.bam: No such file or directory
bash: /home/cmccabe/Desktop/NGS/pool_I_090215//media/cmccabe/C2F8EFBFF8EFAFB9/pool_I_090215/IonXpress_015_rawlib_newheader.bam: No such file or directory
bash: /home/cmccabe/Desktop/NGS/pool_I_090215//media/cmccabe/C2F8EFBFF8EFAFB9/pool_I_090215/IonXpress_016_150902_newheader.bam: No such file or directory

# 2  
Old 09-15-2015
You are just removing the '.bam', you are not removing the long pathname.

Try FILE=$(basename "$FILE") to remove the path.
# 3  
Old 09-15-2015
The below code runs but no output is created. Thank you Smilie.

Code:
cmccabe@HPZ640:~/Desktop/NGS$ FILE=$(basename "$FILE")
cmccabe@HPZ640:~/Desktop/NGS$ for f
> do
> prefix=${f%%.bam}
> samtools view -H $f | sed '/^@PG/d' | samtools reheader - $f > /home/cmccabe/Desktop/NGS/pool_I_090215/${prefix}_newheader.bam
> done

tried this as well:
Code:
 cmccabe@HPZ640:~/Desktop/NGS$ for f in /media/cmccabe/C2F8EFBFF8EFAFB9/pool_I_090215/*.bam
> FILE=$(basename "$FILE")
bash: syntax error near unexpected token `FILE=$(basename "$FILE")'
cmccabe@HPZ640:~/Desktop/NGS$ do
bash: syntax error near unexpected token `do'
cmccabe@HPZ640:~/Desktop/NGS$ prefix=${f%%.bam}
cmccabe@HPZ640:~/Desktop/NGS$ samtools view -H $f | sed '/^@PG/d' | samtools reheader - $f > /home/cmccabe/Desktop/NGS/pool_I_090215/${prefix}_newheader.bam
bash: /home/cmccabe/Desktop/NGS/pool_I_090215//media/cmccabe/C2F8EFBFF8EFAFB9/pool_I_090215/IonXpress_016_150902_newheader.bam: No such file or directory


Last edited by cmccabe; 09-15-2015 at 06:15 PM.. Reason: added another code
# 4  
Old 09-15-2015
Tried what? What exactly did you do? The code is scrambled by all the errors.

Why are you using FILE when your variable is named f?
This User Gave Thanks to Corona688 For This Post:
# 5  
Old 09-15-2015
I guess im not sure how to use basename. Thank you Smilie.
# 6  
Old 09-15-2015
Quote:
Originally Posted by cmccabe
I guess im not sure how to use basename. Thank you Smilie.
The same technique as prefix=${f%%.bam} can be used to obtain the name of the file without the path
Code:
base_name=${f##*/}

This User Gave Thanks to Aia For This Post:
# 7  
Old 09-16-2015
And chained
Code:
basename=${f##*/}
prefix=${basename%%.bam}

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

Previous Thread | Next Thread

8 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Latest list of files of each type

find /tmp/testlog/kSR*"_"2018* -type f -printf '%T@ %p\n' | sort -n | tail -3 | cut -f2- -d" " /tmp/testlog/log/KSR04_2018-07-05.log /tmp/testlog/log/KSR04_2018-07-06.log /tmp/testlog/log/KSR01_2018-07-06.log But, I would see the following output(latest files for each KSR tuype) ... (3 Replies)
Discussion started by: jhonnyrip
3 Replies

2. UNIX for Dummies Questions & Answers

Search in one type of files and replace

I am not sure how to search and replace the word in the few specific files. I need to search and replace word in only the name containing pepsi in the filename. (12 Replies)
Discussion started by: ramkumar15
12 Replies

3. Shell Programming and Scripting

Delete files of the same type if there are more than 3

hi, I would like to delete files in a folder starting with letters ab and fe and so on. It should only delete if there are more than 3 files of that type in that folder. Please suggest me how to write a script. i am new to this scripting. (4 Replies)
Discussion started by: Sneddy
4 Replies

4. Shell Programming and Scripting

Reading files of different type and same basename

Hi ! all I have need of accessing multiple files of different type same base name, and I want to compare base name if matching then I want to send those 2 files of different type to some program, for further processing my files are like this file_1.txt file_2.txt file_3.txt file_4.txt... (6 Replies)
Discussion started by: Akshay Hegde
6 Replies

5. UNIX for Advanced & Expert Users

find -type d returning files as well as directories

Can anyone see why the following command returns all files and not just the directories as specified? find . -type d -exec ls -F {} \; Also tried find . -type d -name "*" -exec ls -F {} \; find . -type d -name "*" -exec ls -F '{}' \; -print Always returns all files :-\ OS is... (2 Replies)
Discussion started by: tuns99
2 Replies

6. UNIX for Advanced & Expert Users

Deleting older files of a particular type

hi This should be easy but i'm obviously missing something obvious. :) I'm looking to delete files from yesterday and older of extension .txt and there a range of subfolders with these files in them. The command runs but doesn't delete anything. SUSE 10. find /testfolder -maxdepth 2 -type f... (6 Replies)
Discussion started by: cmap
6 Replies

7. UNIX for Advanced & Expert Users

Type v for generated files

Hi All, I was checking some of the files and I got the following entries:- =============== v, 664, serv, serv, version.txt, exe L, 775, serv, serv, start.sh, eventserv ================ Could someone please tell me what does the type"v" and "L" represent to. I have not... (2 Replies)
Discussion started by: shubhranshu
2 Replies

8. UNIX for Dummies Questions & Answers

deleting files by type (symbolic links)

How do I delete just the symbolic links in a directory? I have files that I wish to keep that have similar names, length and date/time. Can I use file size? Thanks kyle (4 Replies)
Discussion started by: kryan_toolboy
4 Replies
Login or Register to Ask a Question