I tried to create a loop to get all the filenames and fileID. Here are the files:
./SRR14194206_rmdup_bowtie_hg38_sorted_bowtie_tryhard_minus_bottom.bed
./SRR14194206_rmdup_bowtie_hg38_sorted_bowtie_tryhard_plus_top.bed
./SRR14194207_rmdup_bowtie_hg38_sorted_bowtie_tryhard_minus_bottom.bed
./SRR14194207_rmdup_bowtie_hg38_sorted_bowtie_tryhard_plus_top.bed
./SRR14194208_rmdup_bowtie_hg38_sorted_bowtie_tryhard_minus_bottom.bed
./SRR14194208_rmdup_bowtie_hg38_sorted_bowtie_tryhard_plus_top.bed
./SRR14194209_rmdup_bowtie_hg38_sorted_bowtie_tryhard_minus_bottom.bed
./SRR14194209_rmdup_bowtie_hg38_sorted_bowtie_tryhard_plus_top.bed
Here is my code
dataset=$(find -maxdepth 1 -name "*_rmdup_bowtie_hg38_sorted_bowtie_tryhard_*" | sort -V)
echo "$dataset"
./SRR14194206_rmdup_bowtie_hg38_sorted_bowtie_tryhard_minus_bottom.bed
./SRR14194206_rmdup_bowtie_hg38_sorted_bowtie_tryhard_plus_top.bed
./SRR14194207_rmdup_bowtie_hg38_sorted_bowtie_tryhard_minus_bottom.bed
./SRR14194207_rmdup_bowtie_hg38_sorted_bowtie_tryhard_plus_top.bed
./SRR14194208_rmdup_bowtie_hg38_sorted_bowtie_tryhard_minus_bottom.bed
./SRR14194208_rmdup_bowtie_hg38_sorted_bowtie_tryhard_plus_top.bed
./SRR14194209_rmdup_bowtie_hg38_sorted_bowtie_tryhard_minus_bottom.bed
./SRR14194209_rmdup_bowtie_hg38_sorted_bowtie_tryhard_plus_top.bed
dataNameTail="_rmdup_bowtie_hg38_sorted_bowtie_tryhard_"
datasetID=$(basename $(echo "$dataset"| sed "s/$dataNameTail/_/g"))
Here is the error:
basename: extra operand `./SRR14194207_minus_bottom.bed'
Try `basename --help' for more information.
I wondered if the problem is about quoting so I quote all the variable for basename
but it couldn't loop all my files in $dataset
datasetID=$(basename "$(echo "$dataset"| sed "s/$dataNameTail/_/g")")
echo "$datasetID"
SRR14194209_plus_top.bed
Any insights on what I'm doing wrong? Thank you in advance!