Sponsored Content
Top Forums Shell Programming and Scripting Spaces in Lines for Variables Post 302372637 by bubbwe on Wednesday 18th of November 2009 11:47:28 AM
Old 11-18-2009
Spaces in Lines for Variables

All,
I am driving myself crazy over this one. I have run a find command against a volume on a nas. That returns a full listing of path and file name.

This is an example of one line of output. I redirected the output of the find command to a file.

vol13/grch76/200013935/Characterizations of Plastics/Optical profiles/CP Al 1-3-2005.tif.20091111170132-2072-1292-0.ark_tagging

For each line of output I need to know the full path to the file, the file name and also take the .20091111 and beyond off the file name and use it.

I got the file name issue working and also have the full path to the file. I am trying to write a script to go through the output file, line for line and set variables to the full path and file name.

This is what I have:

Code:
#!/bin/sh

while read -r line
do
  FULLFILENAME=`echo "\"$line\"" |awk -F / '{print $NF}'`
  SHORTFILENAME=`echo "\"$FULLFILENAME\"" |cut -f 1,2 -d .`
  FULLPATHNAME=`echo "\"$line\"" |rev |cut -f2- -d/ | rev`
  echo "$FULLFILENAME"
  echo "$SHORTFILENAME"
  echo "$FULLPATHNAME"
  echo "rm "$FULLPATHNAME"/"$FULLFILENAME""  >> fixit.log 2>&1
  echo "rm "$FULLPATHNAME"/"$SHORTFILENAME"" >> fixit.log 2>&1
  #rm -f "$FULLPATHNAME"/"$FULLFILENAME" >> fixit.log @>&1
  #rm -f "$FULLPATHNAME"/"$SHORTFILENAME" >> fixit.log 2>&1
  #echo "cp -p "$FULLPATHNAME"/.snapshot/nightly.8/"$SHORTFILENAME" "$FULLPATHNAME"" >> fixit.log 2>&1
  #cp -p "$FULLPATHNAME"/.snapshot/nightly.8/"$SHORTFILENAME" "$FULLPATHNAME" >> fixit.log 2>&1
done < donw.out

The problem with this is that when I try to do the rm or copy commands the variable has some single or double quotes in it and it won't rm or copy as there is no such file or directory. Any thoughts would be appreciated.

Last edited by pludi; 11-18-2009 at 01:10 PM.. Reason: code tags, please...
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

delete blank lines or lines with spaces only

hi there i'm trying to delete blank lines and or lines with spaces only from a series of files in an directory. to do so, i'm using this: for files in `ls /users/myname/pesop* 2>/dev/null` do grep -v ^$ $files > newfile mv newfile $files done now, this works great for blank lines but... (3 Replies)
Discussion started by: vascobrito
3 Replies

2. UNIX for Dummies Questions & Answers

removing spaces from variables?

I stored results like this VAR=`wc -l < ls.txt` But the value of the wc gave me a padded number. How do I strip the padding from $VAR? Do you think I could use SED? Except instead of a file input, have a variable redirection input? (2 Replies)
Discussion started by: yongho
2 Replies

3. Shell Programming and Scripting

Read variables contain spaces from text file

Dears, I developed a shell script to read varibales from text file as the following: cat /dev/null > /rename-OUT.txt while read line do set -- `echo $line` snmpset -c dslmibs $1 sysName.0 octetstring $2 after=$(snmpget -c dslmibs $1 sysName.0 | cut -d: -f3) echo "$1,$2,$after" >>... (1 Reply)
Discussion started by: ahmed.zaher
1 Replies

4. Shell Programming and Scripting

Variables containing spaces in lpadmin

I apologize for the long post. I have a lot of info... I am trying to write a script that will add a network printer (or several) to a system using information read in from a text file. My problem is the spaces in the PPD file name, I'm not sure how to put the file name in or how to read it back... (2 Replies)
Discussion started by: HalfNube
2 Replies

5. Shell Programming and Scripting

Csh Problem using spaces in string variables

I have done something like this set phases = "a b" set phases = "phases="$phases echo $phases I get phases=a instead of phases=a b (3 Replies)
Discussion started by: kristinu
3 Replies

6. Shell Programming and Scripting

White spaces issue with shell variables

Hi all, I've a requirement as below Source file src.txt sample data: A<10 white spaces>B12<5 white spaces>C<17 white spaces> A1<5 white spaces>B22<5 white spaces>C13<17 white spaces> when I'm fetching a record from this file into a shell variable like below: vRec=`head -1 src.txt... (2 Replies)
Discussion started by: madhu_1126
2 Replies

7. Shell Programming and Scripting

Spaces in variables

I'm having a problem with this.... --------------------------------------------------- #!/bin/bash SPKTAG=" | festival --tts" echo "Welcome to my shell program" "$SPKTAG"; --------------------------------------------------- I have a variable call SPKTAG " | festival --tts" and I... (2 Replies)
Discussion started by: digitalviking
2 Replies

8. Shell Programming and Scripting

Reform Lines in File without blank lines and spaces

Hello All, I have a file with data as below. Each line consists of 21 fields. I am not able to load them back to the database. 50733339,"834","834 ","005010X279A1","N","Y","007977163","0001 ",30,"2110D ","EB ","EB007 ","2 ","Conditional Required Data Element Miss ing... (3 Replies)
Discussion started by: Praveenkulkarni
3 Replies

9. Shell Programming and Scripting

Working with lines or variables that have spaces or special characters

Example: while read line do stat -c %G $line done < somefile.txtThe problem is that inside somefile.txt lines can have any symbol allowed as file name, like (). Even with spaces, it splits the words. somefile.txt:dira/my first jump.avi dirb/surf video (1080p).mkv (2 Replies)
Discussion started by: Tribe
2 Replies

10. Shell Programming and Scripting

Curl not accepting spaces in script via variables

Hi All, I'm trying to run a script which issues rest commands via curl to an endpoint. If I put spaces in fields via something like insomnia, it works, but when I try from an input file, it's failing with a json error. while IFS=, read mname oname <------ my input file... (10 Replies)
Discussion started by: say170
10 Replies
NPM-RUN-SCRIPT(1)                                                                                                                NPM-RUN-SCRIPT(1)

NAME
npm-run-script - Run arbitrary package scripts SYNOPSIS
npm run-script <command> [--silent] [-- <args>...] alias: npm run DESCRIPTION
This runs an arbitrary command from a package's "scripts" object. If no "command" is provided, it will list the available scripts. run[-script] is used by the test, start, restart, and stop commands, but can be called directly, as well. When the scripts in the package are printed out, they're separated into lifecycle (test, start, restart) and directly-run scripts. As of ` https://blog.npmjs.org/post/98131109725/npm-2-0-0, you can use custom arguments when executing scripts. The special option -- is used by getopt https://goo.gl/KxMmtG to delimit the end of the options. npm will pass all the arguments after the -- directly to your script: npm run test -- --grep="pattern" The arguments will only be passed to the script specified after npm run and not to any pre or post script. The env script is a special built-in command that can be used to list environment variables that will be available to the script at run- time. If an "env" command is defined in your package, it will take precedence over the built-in. In addition to the shell's pre-existing PATH, npm run adds node_modules/.bin to the PATH provided to scripts. Any binaries provided by locally-installed dependencies can be used without the node_modules/.bin prefix. For example, if there is a devDependency on tap in your package, you should write: "scripts": {"test": "tap test/*.js"} instead of "scripts": {"test": "node_modules/.bin/tap test/*.js"} to run your tests. The actual shell your script is run within is platform dependent. By default, on Unix-like systems it is the /bin/sh command, on Windows it is the cmd.exe. The actual shell referred to by /bin/sh also depends on the system. As of ` https://github.com/npm/npm/releases/tag/v5.1.0 you can customize the shell with the script-shell configuration. Scripts are run from the root of the module, regardless of what your current working directory is when you call npm run. If you want your script to use different behavior based on what subdirectory you're in, you can use the INIT_CWD environment variable, which holds the full path you were in when you ran npm run. npm run sets the NODE environment variable to the node executable with which npm is executed. Also, if the --scripts-prepend-node-path is passed, the directory within which node resides is added to the PATH. If --scripts-prepend-node-path=auto is passed (which has been the default in npm v3), this is only performed when that node executable is not found in the PATH. If you try to run a script without having a node_modules directory and it fails, you will be given a warning to run npm install, just in case you've forgotten. You can use the --silent flag to prevent showing npm ERR! output on error. You can use the --if-present flag to avoid exiting with a non-zero exit code when the script is undefined. This lets you run potentially undefined scripts without breaking the execution chain. SEE ALSO
o npm help 7 scripts o npm help test o npm help start o npm help restart o npm help stop o npm help 7 config January 2019 NPM-RUN-SCRIPT(1)
All times are GMT -4. The time now is 12:34 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy