Sponsored Content
Top Forums Shell Programming and Scripting Extracting Directory From Path Post 302514481 by kurumi on Friday 15th of April 2011 09:42:09 PM
Old 04-15-2011
Code:
$ echo "/home/one/two/three/" | ruby -e 'puts gets.gsub(/\/$/,"").split("/")[-1]'
three

$ echo "/home/one/two/three/" | ruby -e 'puts gets.split("/")[-2]'
three

This User Gave Thanks to kurumi For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

extracting a field from directory path ??????

Hi I'll be getting a directory path as the input to the script. E.g. 1 abc/fsg/sdfhgsa/fasgfsd/adfghad/XXX/fhsad e.g. 2 sadfg/sadgjhgds/sd/dtuc/cghcx/dtyue/dfghsdd/XXX/qytq This input will be stored in a variable. My query is how to extract the field in a variable VAR which occurs... (15 Replies)
Discussion started by: skyineyes
15 Replies

2. Shell Programming and Scripting

Extracting file name from path

if I have a variable value "filetoprocess" equal to "/aaa/bbb/ccc" How can I simply extract the file name of "ccc" (4 Replies)
Discussion started by: ytakbob
4 Replies

3. UNIX for Dummies Questions & Answers

Extracting parts from an absolute path

Hi, How can I extract parts from an absolute path? For example : The absolute path is /dir1/dir2/dir3/dir4/dir5.I need the relative path starting with directory given as parameter : for instance if the parameter is dir3 then the result should be dir3/dir4/dir5 I need generic solution... (9 Replies)
Discussion started by: mortanon
9 Replies

4. Shell Programming and Scripting

Retrieve directory path from full file path through sh

Hi, I have a file abcd.txt which has contents in the form of full path file names i.e. $home> vi abcd.txt /a/b/c/r1.txt /q/w/e/r2.txt /z/x/c/r3.txt Now I want to retrieve only the directory path name for each row i.e /a/b/c/ /q/w/e/ How to get the same through shell script?... (7 Replies)
Discussion started by: royzlife
7 Replies

5. Shell Programming and Scripting

sed/awk for extracting directory from file path

Hi, I have following path: set file_path = D:/forums/prac/somedir/new1/file1.txt or set file_path = E:/new/forums1/prac/somedir/new2/file2.txt I need to grep "somedir" from file path. In this case preceding directory "prac" remains same for both the paths, but directories preceding... (7 Replies)
Discussion started by: sarbjit
7 Replies

6. Shell Programming and Scripting

"find . -printf" without prepended "." path? Getting path to current working directory?

If I enter (simplified): find . -printf "%p\n" then all files in the output are prepended by a "." like ./local/share/test23.log How can achieve that a.) the leading "./" is omitted and/or b.) the full path to the current directory is inserted (enclosed by brackets and a blank)... (1 Reply)
Discussion started by: pstein
1 Replies

7. UNIX for Dummies Questions & Answers

Extract directory name from the full directory path in UNIX using shell scripting

My input is as below : /splunk/scrubbed/rebate/IFIND.REBTE.WROC.txt /splunk/scrubbed/rebate/IFIND.REBTE.WROC.txt /splunk/scrubbed/loyal/IFIND.HELLO.WROC.txt /splunk/scrubbed/triumph/ifind.triumph.txt From the above input I want to extract the file names only . Basically I want to... (5 Replies)
Discussion started by: IshuGupta
5 Replies

8. UNIX for Beginners Questions & Answers

Extracting directory portion.

Dear Experts, I have some directory structure something like follows. I would like to cut portion of it. Would you please help me? I have to run this on several sql's. The directory path is dynamic. I have cut what comes after first "sql" string. Input:... (3 Replies)
Discussion started by: srikanth38
3 Replies

9. UNIX for Beginners Questions & Answers

Convert Relative path to Absolute path, without changing directory to the file location.

Hello, I am creating a file with all the source folders included in my git branch, when i grep for the used source, i found source included as relative path instead of absolute path, how can convert relative path to absolute path without changing directory to that folder and using readlink -f ? ... (4 Replies)
Discussion started by: Sekhar419
4 Replies

10. UNIX for Beginners Questions & Answers

What is the difference ../directory path and ./directory path in ksh?

What is the difference ../directory path and ./directory path in ksh? (1 Reply)
Discussion started by: TestKing
1 Replies
JRUBY(1)							       LOCAL								  JRUBY(1)

NAME
jruby -- Interpreted object-oriented scripting language SYNOPSIS
jruby [--copyright] [--version] [-Sacdlnpswvy] [-0[octal]] [-C directory] [-F pattern] [-I directory] [-K c] [-T[level]] [-e command] [-i[extension]] [-r library] [-x[directory]] [--] [program_file] [argument ...] DESCRIPTION
Jruby is a 100% pure-Java implementation of Ruby, an interpreted scripting language for quick and easy object-oriented programming. It has many features to process text files and to do system management tasks (as in Perl). It is simple, straight-forward, and extensible. OPTIONS
Ruby interpreter accepts following command-line options (switches). They are quite similar to those of perl(1). --copyright Prints the copyright notice. --version Prints the version of Ruby interpreter. -0[octal] (The digit ``zero''.) Specifies the input record separator ($/) as an octal number. If no digit is given, the null character is taken as the separator. Other switches may follow the digits. -00 turns Ruby into paragraph mode. -0777 makes Ruby read whole file at once as a single string since there is no legal character with that value. -C directory Causes Ruby to switch to the directory. -F pattern Specifies input field separator ($;). -I directory Used to tell Ruby where to load the library scripts. Directory path will be added to the load-path variable ($:). -K kcode Specifies KANJI (Japanese) encoding. -S Makes Ruby use the PATH environment variable to search for script, unless if its name begins with a slash. This is used to emulate #! on machines that don't support it, in the following manner: #! /usr/local/bin/ruby # This line makes the next one a comment in Ruby exec /usr/local/bin/ruby -S $0 $* -T[level] Turns on taint checks at the specified level (default 1). -a Turns on auto-split mode when used with -n or -p. In auto-split mode, Ruby executes $F = $_.split at beginning of each loop. -c Causes Ruby to check the syntax of the script and exit without executing. If there are no syntax errors, Ruby will print ``Syntax OK'' to the standard output. -d --debug Turns on debug mode. $DEBUG will be set to true. -e command Specifies script from command-line while telling Ruby not to search the rest of arguments for a script file name. -h --help Prints a summary of the options. -i extension Specifies in-place-edit mode. The extension, if specified, is added to old file name to make a backup copy. For example: % echo matz > /tmp/junk % cat /tmp/junk matz % ruby -p -i.bak -e '$_.upcase!' /tmp/junk % cat /tmp/junk MATZ % cat /tmp/junk.bak matz -l (The lowercase letter ``ell''.) Enables automatic line-ending processing, which means to firstly set $ to the value of $/, and secondly chops every line read using chop!. -n Causes Ruby to assume the following loop around your script, which makes it iterate over file name arguments somewhat like sed -n or awk. while gets ... end -p Acts mostly same as -n switch, but print the value of variable $_ at the each end of the loop. For example: % echo matz | ruby -p -e '$_.tr! "a-z", "A-Z"' MATZ -r library Causes Ruby to load the library using require. It is useful when using -n or -p. -s Enables some switch parsing for switches after script name but before any file name arguments (or before a --). Any switches found there are removed from ARGV and set the corresponding variable in the script. For example: #! /usr/local/bin/ruby -s # prints "true" if invoked with `-xyz' switch. print "true " if $xyz On some systems $0 does not always contain the full pathname, so you need the -S switch to tell Ruby to search for the script if necessary. To handle embedded spaces or such. A better construct than $* would be ${1+"$@"}, but it does not work if the script is being interpreted by csh(1). -v --verbose Enables verbose mode. Ruby will print its version at the beginning, and set the variable $VERBOSE to true. Some methods print extra messages if this variable is true. If this switch is given, and no other switches are present, Ruby quits after printing its version. -w Enables verbose mode without printing version message at the beginning. It sets the $VERBOSE variable to true. -x[directory] Tells Ruby that the script is embedded in a message. Leading garbage will be discarded until the first that starts with ``#!'' and contains the string, ``ruby''. Any meaningful switches on that line will applied. The end of script must be spec- ified with either EOF, ^D (control-D), ^Z (control-Z), or reserved word __END__. If the directory name is specified, Ruby will switch to that directory before executing script. -y --yydebug Turns on compiler debug mode. Ruby will print a bunch of internal state messages during compiling scripts. You don't have to specify this switch, unless you are going to debug the Ruby interpreter. UNIX
Apr 2, 2007 UNIX
All times are GMT -4. The time now is 01:10 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy