{"id":2032,"date":"2023-01-27T10:47:17","date_gmt":"2023-01-27T05:17:17","guid":{"rendered":"https:\/\/trysiteprice.com\/blog\/?p=2032"},"modified":"2023-01-27T10:47:17","modified_gmt":"2023-01-27T05:17:17","slug":"bash-get-filename-from-given-path-on-linux-or-unix","status":"publish","type":"post","link":"https:\/\/trysiteprice.com\/blog\/bash-get-filename-from-given-path-on-linux-or-unix\/","title":{"rendered":"Bash get filename from given path on Linux or Unix"},"content":{"rendered":"<p>In bash, you can use the <code>basename<\/code> command to extract the filename from a given path on Linux or Unix. The <code>basename<\/code> command takes the path as an argument, and returns the filename without the path. Here is an example of how to use the <code>basename<\/code> command to extract the filename from a given path:<\/p>\n<div class=\"bg-black mb-4 rounded-md\">\n<div class=\"flex items-center relative text-gray-200 bg-gray-800 px-4 py-2 text-xs font-sans\"><\/div>\n<div class=\"p-4 overflow-y-auto\"><code class=\"!whitespace-pre-wrap hljs language-shell\"><span class=\"hljs-meta prompt_\">$ <\/span><span class=\"bash\">filename=$(<span class=\"hljs-built_in\">basename<\/span> \/path\/to\/file.txt)<\/span><br \/>\n<span class=\"hljs-meta prompt_\">$ <\/span><span class=\"bash\"><span class=\"hljs-built_in\">echo<\/span> <span class=\"hljs-variable\">$filename<\/span><\/span><br \/>\nfile.txt<br \/>\n<\/code><\/div>\n<\/div>\n<p>Alternatively, you could use string manipulation techniques to extract the filename from a given path. Here is an example of how you could use the <code>${variable##*\/}<\/code> parameter expansion to extract the filename:<\/p>\n<div class=\"bg-black mb-4 rounded-md\">\n<div class=\"flex items-center relative text-gray-200 bg-gray-800 px-4 py-2 text-xs font-sans\"><\/div>\n<div class=\"p-4 overflow-y-auto\"><code class=\"!whitespace-pre-wrap hljs language-shell\"><span class=\"hljs-meta prompt_\">$ <\/span><span class=\"bash\">path=\/path\/to\/file.txt<\/span><br \/>\n<span class=\"hljs-meta prompt_\">$ <\/span><span class=\"bash\">filename=<span class=\"hljs-variable\">${path##*\/}<\/span><\/span><br \/>\n<span class=\"hljs-meta prompt_\">$ <\/span><span class=\"bash\"><span class=\"hljs-built_in\">echo<\/span> <span class=\"hljs-variable\">$filename<\/span><\/span><br \/>\nfile.txt<br \/>\n<\/code><\/div>\n<\/div>\n<p>In this example, the <code>##*\/<\/code> parameter expansion operator removes the longest match of *\/ from the start of the variable, effectively removing the path and leaving only the filename.<\/p>\n<p>Another way to extract the filename from a given path is using the <code>dirname<\/code> command which returns the path of the file without the file name, then you can use string concatenation to add the file name to the path.<\/p>\n<div class=\"bg-black mb-4 rounded-md\">\n<div class=\"flex items-center relative text-gray-200 bg-gray-800 px-4 py-2 text-xs font-sans\"><\/div>\n<div class=\"p-4 overflow-y-auto\"><code class=\"!whitespace-pre-wrap hljs language-shell\"><span class=\"hljs-meta prompt_\">$ <\/span><span class=\"bash\">path=\/path\/to\/file.txt<\/span><br \/>\n<span class=\"hljs-meta prompt_\">$ <\/span><span class=\"bash\">dir_path=$(<span class=\"hljs-built_in\">dirname<\/span> <span class=\"hljs-string\">\"<span class=\"hljs-variable\">$path<\/span>\"<\/span>)<\/span><br \/>\n<span class=\"hljs-meta prompt_\">$ <\/span><span class=\"bash\">file_name=file.txt<\/span><br \/>\n<span class=\"hljs-meta prompt_\">$ <\/span><span class=\"bash\"><span class=\"hljs-built_in\">echo<\/span> <span class=\"hljs-variable\">$dir_path<\/span>\/<span class=\"hljs-variable\">$file_name<\/span><\/span><br \/>\n\/path\/to\/file.txt<br \/>\n<\/code><\/div>\n<\/div>\n<p>These are some examples of how you can extract the filename from a given path on a Linux or Unix system using bash. You can choose the one that best suits your needs.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In bash, you can use the basename command to extract the filename from a given path on Linux or Unix. The basename command takes the path as an argument, and returns the filename without the path. Here is an example of how to use the basename command to extract the filename from a given path: &#8230; <a title=\"Bash get filename from given path on Linux or Unix\" class=\"read-more\" href=\"https:\/\/trysiteprice.com\/blog\/bash-get-filename-from-given-path-on-linux-or-unix\/\" aria-label=\"Read more about Bash get filename from given path on Linux or Unix\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2032","post","type-post","status-publish","format-standard","hentry","category-best-tutorial"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Bash get filename from given path on Linux or Unix - TrySitePrice<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/trysiteprice.com\/blog\/bash-get-filename-from-given-path-on-linux-or-unix\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Bash get filename from given path on Linux or Unix - TrySitePrice\" \/>\n<meta property=\"og:description\" content=\"In bash, you can use the basename command to extract the filename from a given path on Linux or Unix. The basename command takes the path as an argument, and returns the filename without the path. Here is an example of how to use the basename command to extract the filename from a given path: ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/trysiteprice.com\/blog\/bash-get-filename-from-given-path-on-linux-or-unix\/\" \/>\n<meta property=\"og:site_name\" content=\"TrySitePrice\" \/>\n<meta property=\"article:published_time\" content=\"2023-01-27T05:17:17+00:00\" \/>\n<meta name=\"author\" content=\"Rahul Sahu\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/bash-get-filename-from-given-path-on-linux-or-unix\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/trysiteprice.com\/blog\/bash-get-filename-from-given-path-on-linux-or-unix\/\"},\"author\":{\"name\":\"Rahul Sahu\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/#\/schema\/person\/358e04eeea4281deacad2f30c58e67f4\"},\"headline\":\"Bash get filename from given path on Linux or Unix\",\"datePublished\":\"2023-01-27T05:17:17+00:00\",\"dateModified\":\"2023-01-27T05:17:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/trysiteprice.com\/blog\/bash-get-filename-from-given-path-on-linux-or-unix\/\"},\"wordCount\":192,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/trysiteprice.com\/blog\/#organization\"},\"articleSection\":[\"Best\/Tutorial\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/trysiteprice.com\/blog\/bash-get-filename-from-given-path-on-linux-or-unix\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/bash-get-filename-from-given-path-on-linux-or-unix\/\",\"url\":\"https:\/\/trysiteprice.com\/blog\/bash-get-filename-from-given-path-on-linux-or-unix\/\",\"name\":\"Bash get filename from given path on Linux or Unix - TrySitePrice\",\"isPartOf\":{\"@id\":\"https:\/\/trysiteprice.com\/blog\/#website\"},\"datePublished\":\"2023-01-27T05:17:17+00:00\",\"dateModified\":\"2023-01-27T05:17:17+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/trysiteprice.com\/blog\/bash-get-filename-from-given-path-on-linux-or-unix\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/trysiteprice.com\/blog\/bash-get-filename-from-given-path-on-linux-or-unix\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/bash-get-filename-from-given-path-on-linux-or-unix\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/trysiteprice.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Bash get filename from given path on Linux or Unix\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/#website\",\"url\":\"https:\/\/trysiteprice.com\/blog\/\",\"name\":\"TrySitePrice\",\"description\":\"Free Website Value Calculator Tool\",\"publisher\":{\"@id\":\"https:\/\/trysiteprice.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/trysiteprice.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/#organization\",\"name\":\"TrySitePrice\",\"url\":\"https:\/\/trysiteprice.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/trysiteprice.com\/blog\/wp-content\/uploads\/2021\/12\/cropped-trysiteprice-logo.png\",\"contentUrl\":\"https:\/\/trysiteprice.com\/blog\/wp-content\/uploads\/2021\/12\/cropped-trysiteprice-logo.png\",\"width\":395,\"height\":268,\"caption\":\"TrySitePrice\"},\"image\":{\"@id\":\"https:\/\/trysiteprice.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/#\/schema\/person\/358e04eeea4281deacad2f30c58e67f4\",\"name\":\"Rahul Sahu\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/51f0f95f7b95665f62baed2211572165?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/51f0f95f7b95665f62baed2211572165?s=96&d=mm&r=g\",\"caption\":\"Rahul Sahu\"},\"sameAs\":[\"https:\/\/trysiteprice.com\/blog\"],\"url\":\"https:\/\/trysiteprice.com\/blog\/author\/rsahu4242_trysiteprice\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Bash get filename from given path on Linux or Unix - TrySitePrice","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/trysiteprice.com\/blog\/bash-get-filename-from-given-path-on-linux-or-unix\/","og_locale":"en_US","og_type":"article","og_title":"Bash get filename from given path on Linux or Unix - TrySitePrice","og_description":"In bash, you can use the basename command to extract the filename from a given path on Linux or Unix. The basename command takes the path as an argument, and returns the filename without the path. Here is an example of how to use the basename command to extract the filename from a given path: ... Read more","og_url":"https:\/\/trysiteprice.com\/blog\/bash-get-filename-from-given-path-on-linux-or-unix\/","og_site_name":"TrySitePrice","article_published_time":"2023-01-27T05:17:17+00:00","author":"Rahul Sahu","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/trysiteprice.com\/blog\/bash-get-filename-from-given-path-on-linux-or-unix\/#article","isPartOf":{"@id":"https:\/\/trysiteprice.com\/blog\/bash-get-filename-from-given-path-on-linux-or-unix\/"},"author":{"name":"Rahul Sahu","@id":"https:\/\/trysiteprice.com\/blog\/#\/schema\/person\/358e04eeea4281deacad2f30c58e67f4"},"headline":"Bash get filename from given path on Linux or Unix","datePublished":"2023-01-27T05:17:17+00:00","dateModified":"2023-01-27T05:17:17+00:00","mainEntityOfPage":{"@id":"https:\/\/trysiteprice.com\/blog\/bash-get-filename-from-given-path-on-linux-or-unix\/"},"wordCount":192,"commentCount":0,"publisher":{"@id":"https:\/\/trysiteprice.com\/blog\/#organization"},"articleSection":["Best\/Tutorial"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/trysiteprice.com\/blog\/bash-get-filename-from-given-path-on-linux-or-unix\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/trysiteprice.com\/blog\/bash-get-filename-from-given-path-on-linux-or-unix\/","url":"https:\/\/trysiteprice.com\/blog\/bash-get-filename-from-given-path-on-linux-or-unix\/","name":"Bash get filename from given path on Linux or Unix - TrySitePrice","isPartOf":{"@id":"https:\/\/trysiteprice.com\/blog\/#website"},"datePublished":"2023-01-27T05:17:17+00:00","dateModified":"2023-01-27T05:17:17+00:00","breadcrumb":{"@id":"https:\/\/trysiteprice.com\/blog\/bash-get-filename-from-given-path-on-linux-or-unix\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/trysiteprice.com\/blog\/bash-get-filename-from-given-path-on-linux-or-unix\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/trysiteprice.com\/blog\/bash-get-filename-from-given-path-on-linux-or-unix\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/trysiteprice.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Bash get filename from given path on Linux or Unix"}]},{"@type":"WebSite","@id":"https:\/\/trysiteprice.com\/blog\/#website","url":"https:\/\/trysiteprice.com\/blog\/","name":"TrySitePrice","description":"Free Website Value Calculator Tool","publisher":{"@id":"https:\/\/trysiteprice.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/trysiteprice.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/trysiteprice.com\/blog\/#organization","name":"TrySitePrice","url":"https:\/\/trysiteprice.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/trysiteprice.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/trysiteprice.com\/blog\/wp-content\/uploads\/2021\/12\/cropped-trysiteprice-logo.png","contentUrl":"https:\/\/trysiteprice.com\/blog\/wp-content\/uploads\/2021\/12\/cropped-trysiteprice-logo.png","width":395,"height":268,"caption":"TrySitePrice"},"image":{"@id":"https:\/\/trysiteprice.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/trysiteprice.com\/blog\/#\/schema\/person\/358e04eeea4281deacad2f30c58e67f4","name":"Rahul Sahu","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/trysiteprice.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/51f0f95f7b95665f62baed2211572165?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/51f0f95f7b95665f62baed2211572165?s=96&d=mm&r=g","caption":"Rahul Sahu"},"sameAs":["https:\/\/trysiteprice.com\/blog"],"url":"https:\/\/trysiteprice.com\/blog\/author\/rsahu4242_trysiteprice\/"}]}},"_links":{"self":[{"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/posts\/2032","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/comments?post=2032"}],"version-history":[{"count":1,"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/posts\/2032\/revisions"}],"predecessor-version":[{"id":2038,"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/posts\/2032\/revisions\/2038"}],"wp:attachment":[{"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/media?parent=2032"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/categories?post=2032"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/tags?post=2032"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}