Grab the filename in Unix out of full path

后端 未结 4 1992
离开以前
离开以前 2020-12-29 17:42

I am trying to get \"abc.txt\" out of /this/is/could/be/any/path/abc.txt using Unix command. Note that /this/is/could/be/any/path is d

相关标签:
4条回答
  • 2020-12-29 18:21

    basename path gives the file name at the end of path

    Edit:

    It is probably worth adding that a common pattern is to use back quotes around commands e.g. `basename ...`, so UNIX shells will execute the command and return its textual value.

    So to assign the result of basename to a variable, use

    x=`basename ...path...`
    

    and $x will be the file name.

    0 讨论(0)
  • 2020-12-29 18:29

    You can use basename /this/is/could/be/any/path/abc.txt

    0 讨论(0)
  • 2020-12-29 18:41

    In bash:

    path=/this/is/could/be/any/path/abc.txt
    

    If your path has spaces in it, wrap it in "

    path="/this/is/could/be/any/path/a b c.txt"
    

    Then to extract the path, use the basename function

    file=$(basename "$path")
    

    or

    file=${path##*/}
    
    0 讨论(0)
  • 2020-12-29 18:41

    You can use dirname command

    $ dirname $path
    
    0 讨论(0)
提交回复
热议问题