Sponsored Content
Top Forums Shell Programming and Scripting Conduct a search or test -f over a path with spaces Post 302737327 by godfreydanials on Wednesday 28th of November 2012 07:46:42 PM
Old 11-28-2012
Conduct a search or test -f over a path with spaces

I am organizing my music library on a NAS server. I want to print a list of all the directories that are missing the cover art (at least one or more jpeg file). I have successfully created a file with each line containing the path to each occurance of one or more .mp3 files. That path is also expected to have one or more files ending in .jpg or .JPG.

My input file strings look like this:
Code:
/c/mp3/Bad Company/Rough Diamonds
/c/mp3/Bad Company/Burnin' Sky

Most of the directory paths have one or more spaces in the directory, preventing me from testing for files with the .jpg extension, plus I have no idea how to do a case-intensive test. I will probably just have to perform two tests. I get a file not found error if I quote the entire string like:
Code:
"/c/mp3/Bad Company/Rough Diamonds"

After much searching, I decided I need to convert each path to this format"
Code:
/c/mp3/"Bad Company"/"Rough Diamonds"

If I can just get the path in the above format, I should be able to test for a jpg file with:
Code:
[ -f /c/mp3/"Bad Company"/"Rough Diamonds"/*.jpg" ]

I have tried using the IFS="/" with the bash read and also awk with the IFS="/". Both these methods continue to use the space (and /) as an IFS and I end up with 6 fields in the case with the above path.

I am running an old version of linux, 2.6.17.14ReadyNAS, but I could do this over nfs with a modern kernel and tools. Any help would be greatly appreciated.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Test whether absolute path in variable

I'm using the following line in bash to test whether an argument supplied is an absolute path or not: if echo $1 | grep '^/' > /dev/null then absolute=1 else absoute=0 fi The line appears to work but seems somewhat unprofessional looking to me. Is it an acceptable... (2 Replies)
Discussion started by: dkieran
2 Replies

2. UNIX for Dummies Questions & Answers

Problem with spaces in directory path

Hi Gurus, I have a requirement. cat /usdd/Sample/"NDDF Plus DB"/"NDDF Descriptive and Pricing"/"NDDF BASICS 3.0"/"Pricing"/1.txt | sed 's/*|*/|/g' | sed 's/^*//'| sed 's/^*//; s/*$//' > temp.txt In unix prompt the above command is reading the file 1.txt and I am... (1 Reply)
Discussion started by: prabhutkl
1 Replies

3. Shell Programming and Scripting

Test File for Existence with Whitespaces in Path

Hi Everyone! I'm quite new to shell scripting so this might be trivial, though 3 days of struggle and search didn't help to solve the problem: I want to look for files called '*HUN*' in a huge amount of directories most of their names contain whitespaces and print the path of the directory if... (8 Replies)
Discussion started by: sumi76
8 Replies

4. Shell Programming and Scripting

How to add spaces to test.dat file in unix??

Hi I have a test.dat file in UNIX which has a data.I am informatica developer i get data in those files.I need to add 50 spaces to those data in test.dat file.I am new to unix So can any one help how can i do that. I have some 2088 rows in that test.dat file. Can anyone help me please its... (11 Replies)
Discussion started by: karingulanagara
11 Replies

5. Shell Programming and Scripting

Problem iterating through PATH entries with spaces

I have a Bash script on Cygwin that tries to iterate through the directory entries in PATH. I need to convert the PATH value to a form that I can iterate through with "for var in $list; do". For instance, an excerpt from my PATH value is this: :/c/Program Files/Windows Imaging/:/c/Program... (2 Replies)
Discussion started by: dkarr
2 Replies

6. Shell Programming and Scripting

Problem with spaces in the path

Hi all, I have a variable test has the following value assigned.. could you please help on doing cd or ls to the value in the varible ... $echo $test /bdm/sdd/compounds/AD4833XT/requests/clin/Watson_20090420/docs/MHRA\ Comments\ \&\ Responses $cd $test ksh: cd: bad argument count $cd... (3 Replies)
Discussion started by: firestar
3 Replies

7. AIX

Search a string having spaces

Hi I am looking to search a string having spaces in a directory for example : my string is "summer hot" my code :for i in `cat position__list.txt` do echo $i" : " `find . -mtime -6 | xargs grep -l ":83D:$i" | xargs ls -ltr|tail -1|awk '{ print $6 , $7 , $8, $9;... (6 Replies)
Discussion started by: wedng.bell
6 Replies

8. Shell Programming and Scripting

Bash script not parsing file with spaces in path

Hi everyone, I'm trying to write my first ever shell script, the OS is Raspbian. The code I have written must be executed whenever a certain database has been modified. The database resides on a Windows server to which I have a mount point, and I have no control over the Windows server at all so... (2 Replies)
Discussion started by: gjws
2 Replies

9. Shell Programming and Scripting

Proper way to use a path with spaces in the directory name

I am using the below bash loop: or f in /media/cmccabe/My Book Western Digital/10_29and30_2015/*.bam ; do bname=`basename $f` pref=${bname%%.bam} samtools view -H $f | sed '/^@PG/d' | samtools reheader - $f > /home/cmccabe/Desktop/NGS/${pref}_newheader.bam done is the... (1 Reply)
Discussion started by: cmccabe
1 Replies

10. Shell Programming and Scripting

Search for an undetermined number of spaces

I would like to find an undetermined number of spaces and shorten them to one space. I am running Debian in mksh. Script running in #!/bin/sh. Sorry to not include all code. The program is too big and involves an online file... too much hassle to solve a simple issue. Ex., I start with... (11 Replies)
Discussion started by: bedtime
11 Replies
dr_symlinks(1)							  USER COMMANDS 						    dr_symlinks(1)

  NAME
      dr_unsort - unsort the current mpd playlist

  SYNOPSIS
      dr_unsort

  DESCRIPTION
      dr_unsort invokes unsort(1) on the current audio playlist as used by mpd.  Use it if you'd like some variation in your music.

  EXAMPLE
      If The_Beatles/The_White_Album_I/03-Glass_Onion.ogg is the current playing track and your current playlist looks like

	Flying_Lotus/Los_Angeles/01 Brainfeeder.mp3
	The_Beatles/The_White_Album_I/01-Back_in_the_U.S.S.R..ogg
	The_Beatles/The_White_Album_I/02-Dear_Prudence.ogg
      > The_Beatles/The_White_Album_I/03-Glass_Onion.ogg
	The_Beatles/The_White_Album_I/04-Ob-La-Di,_Ob-La-Da.ogg
	The_Beatles/The_White_Album_I/05-Wild_Honey_Pie.ogg
	The_Beatles/The_White_Album_I/06-The_Continuing_Story_of_Bungalow_Bill.ogg
	The_Beatles/The_White_Album_I/07-While_My_Guitar_Gently_Weeps.ogg
	Flying_Lotus/Los_Angeles/02 Breathe . Something_Stellar STar.mp3
	Flying_Lotus/Los_Angeles/03 Beginners Falafel.mp3
	Flying_Lotus/Los_Angeles/04 Camel.mp3
	Napalm_Death/The_Peel_Sessions/01-The_Kill-Prison_Without_Walls-Dead_Part_1.mp3
	Napalm_Death/The_Peel_Sessions/02-Deceiver-Lucid_Fairytale-In_Extremis.mp3
	Napalm_Death/The_Peel_Sessions/03-Blind_To_The_Truth-Negative_Approach-Common_Enemy.mp3
	Napalm_Death/The_Peel_Sessions/04-Obstinate_Direction-Life-You_Suffer_Pt_2.mp3
	Flying_Lotus/Los_Angeles/05 Melt!.mp3
	Flying_Lotus/Los_Angeles/06 Comet Course.mp3
	Flying_Lotus/Los_Angeles/07 Orbit 405.mp3
	Flying_Lotus/Los_Angeles/08 Golden Diva.mp3

      invoking dr_unsort will yield something like e.g.

	Flying_Lotus/Los_Angeles/01 Brainfeeder.mp3
	The_Beatles/The_White_Album_I/01-Back_in_the_U.S.S.R..ogg
	The_Beatles/The_White_Album_I/02-Dear_Prudence.ogg
      > The_Beatles/The_White_Album_I/03-Glass_Onion.ogg
	Flying_Lotus/Los_Angeles/02 Breathe . Something_Stellar STar.mp3
	The_Beatles/The_White_Album_I/04-Ob-La-Di,_Ob-La-Da.ogg
	Napalm_Death/The_Peel_Sessions/01-The_Kill-Prison_Without_Walls-Dead_Part_1.mp3
	Flying_Lotus/Los_Angeles/03 Beginners Falafel.mp3
	The_Beatles/The_White_Album_I/05-Wild_Honey_Pie.ogg
	Napalm_Death/The_Peel_Sessions/02-Deceiver-Lucid_Fairytale-In_Extremis.mp3
	Flying_Lotus/Los_Angeles/04 Camel.mp3
	The_Beatles/The_White_Album_I/06-The_Continuing_Story_of_Bungalow_Bill.ogg
	Napalm_Death/The_Peel_Sessions/03-Blind_To_The_Truth-Negative_Approach-Common_Enemy.mp3
	Flying_Lotus/Los_Angeles/05 Melt!.mp3
	The_Beatles/The_White_Album_I/07-While_My_Guitar_Gently_Weeps.ogg
	Napalm_Death/The_Peel_Sessions/04-Obstinate_Direction-Life-You_Suffer_Pt_2.mp3
	Flying_Lotus/Los_Angeles/06 Comet Course.mp3
	Flying_Lotus/Los_Angeles/07 Orbit 405.mp3
	Flying_Lotus/Los_Angeles/08 Golden Diva.mp3

  WARNING
      Due to limitations in the mpc/mpd protocol, dr_unsort needs filesystem level write access to mpd's playlist directory.

  ENVIRONMENT
      dr_unsort honors strings DR_PLAYLISTS (mpd's playlist directory) and DR_UNSORT (unsort pathname).

  SEE ALSO
      unsort(1), available from http://packages.debian.org/unsort.

  COPYRIGHT AND LICENSE
      This manpage is copyright 2010, 2011 Joost van Baal <joostvb-draai@mdcc.cx>.

      Draai is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, as published by the Free
      Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed	WITHOUT  ANY  WAR-
      RANTY. You should have received a copy of the GNU General Public License along with draai. If not, see http://www.gnu.org/licenses/.

  AUTHOR
      Joost van Baal <joostvb-draai@mdcc.cx>

  dr_symlinks 20110603						     03 juin 2011						      dr_symlinks(1)
All times are GMT -4. The time now is 12:39 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy