{"id":3983,"date":"2023-02-08T13:12:16","date_gmt":"2023-02-08T07:42:16","guid":{"rendered":"https:\/\/trysiteprice.com\/blog\/?p=3983"},"modified":"2023-02-08T13:12:16","modified_gmt":"2023-02-08T07:42:16","slug":"howto-bash-extract-filename-and-extension-in-unix-linux","status":"publish","type":"post","link":"https:\/\/trysiteprice.com\/blog\/howto-bash-extract-filename-and-extension-in-unix-linux\/","title":{"rendered":"HowTo: Bash Extract Filename And Extension In Unix \/ Linux"},"content":{"rendered":"<p>You can extract the filename and extension from a file path in bash using parameter expansion and string manipulation.<\/p>\n<p>Here are a few examples of how to extract the filename and extension:<\/p>\n<ol>\n<li>Extract the filename and extension using parameter expansion:<\/li>\n<\/ol>\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 hljs language-bash\">path=<span class=\"hljs-string\">\"\/path\/to\/file.ext\"<\/span><br \/>\nfilename=<span class=\"hljs-string\">\"<span class=\"hljs-variable\">${path##*\/}<\/span>\"<\/span><br \/>\nextension=<span class=\"hljs-string\">\"<span class=\"hljs-variable\">${filename##*.}<\/span>\"<\/span><br \/>\n<span class=\"hljs-built_in\">echo<\/span> <span class=\"hljs-string\">\"Filename: <span class=\"hljs-variable\">$filename<\/span>\"<\/span><br \/>\n<span class=\"hljs-built_in\">echo<\/span> <span class=\"hljs-string\">\"Extension: <span class=\"hljs-variable\">$extension<\/span>\"<\/span><br \/>\n<\/code><\/div>\n<\/div>\n<ol start=\"2\">\n<li>Extract the filename and extension using string manipulation:<\/li>\n<\/ol>\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 hljs language-bash\">path=<span class=\"hljs-string\">\"\/path\/to\/file.ext\"<\/span><br \/>\nfilename=<span class=\"hljs-string\">\"<span class=\"hljs-variable\">${path##*\/}<\/span>\"<\/span><br \/>\nextension=<span class=\"hljs-string\">\"<span class=\"hljs-variable\">${filename#*.}<\/span>\"<\/span><br \/>\n<span class=\"hljs-built_in\">echo<\/span> <span class=\"hljs-string\">\"Filename: <span class=\"hljs-variable\">${filename%.*}<\/span>\"<\/span><br \/>\n<span class=\"hljs-built_in\">echo<\/span> <span class=\"hljs-string\">\"Extension: <span class=\"hljs-variable\">$extension<\/span>\"<\/span><br \/>\n<\/code><\/div>\n<\/div>\n<p>In both of these examples, the <code>##*\/<\/code> parameter expansion operator is used to remove the leading <code>\/path\/to\/<\/code> from the file path. The <code>##*.<\/code> operator is used to remove the text up to and including the last dot (<code>.<\/code>) in the filename. The <code>#*.<\/code> operator is used to remove the text up to the first dot (<code>.<\/code>) in the filename. The <code>%.*<\/code> operator is used to remove the extension from the filename.<\/p>\n<p>Note: These methods assume that the file path contains only one dot (<code>.<\/code>), and that the dot separates the filename and extension. If the file path contains multiple dots, or the dots are part of the filename, the results may not be as expected.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>You can extract the filename and extension from a file path in bash using parameter expansion and string manipulation. Here are a few examples of how to extract the filename and extension: Extract the filename and extension using parameter expansion: path=&#8221;\/path\/to\/file.ext&#8221; filename=&#8221;${path##*\/}&#8221; extension=&#8221;${filename##*.}&#8221; echo &#8220;Filename: $filename&#8221; echo &#8220;Extension: $extension&#8221; Extract the filename and extension using &#8230; <a title=\"HowTo: Bash Extract Filename And Extension In Unix \/ Linux\" class=\"read-more\" href=\"https:\/\/trysiteprice.com\/blog\/howto-bash-extract-filename-and-extension-in-unix-linux\/\" aria-label=\"Read more about HowTo: Bash Extract Filename And Extension In Unix \/ Linux\">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-3983","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>HowTo: Bash Extract Filename And Extension In Unix \/ Linux - 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\/howto-bash-extract-filename-and-extension-in-unix-linux\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"HowTo: Bash Extract Filename And Extension In Unix \/ Linux - TrySitePrice\" \/>\n<meta property=\"og:description\" content=\"You can extract the filename and extension from a file path in bash using parameter expansion and string manipulation. Here are a few examples of how to extract the filename and extension: Extract the filename and extension using parameter expansion: path=&quot;\/path\/to\/file.ext&quot; filename=&quot;${path##*\/}&quot; extension=&quot;${filename##*.}&quot; echo &quot;Filename: $filename&quot; echo &quot;Extension: $extension&quot; Extract the filename and extension using ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/trysiteprice.com\/blog\/howto-bash-extract-filename-and-extension-in-unix-linux\/\" \/>\n<meta property=\"og:site_name\" content=\"TrySitePrice\" \/>\n<meta property=\"article:published_time\" content=\"2023-02-08T07:42:16+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\/howto-bash-extract-filename-and-extension-in-unix-linux\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/trysiteprice.com\/blog\/howto-bash-extract-filename-and-extension-in-unix-linux\/\"},\"author\":{\"name\":\"Rahul Sahu\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/#\/schema\/person\/358e04eeea4281deacad2f30c58e67f4\"},\"headline\":\"HowTo: Bash Extract Filename And Extension In Unix \/ Linux\",\"datePublished\":\"2023-02-08T07:42:16+00:00\",\"dateModified\":\"2023-02-08T07:42:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/trysiteprice.com\/blog\/howto-bash-extract-filename-and-extension-in-unix-linux\/\"},\"wordCount\":164,\"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\/howto-bash-extract-filename-and-extension-in-unix-linux\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/howto-bash-extract-filename-and-extension-in-unix-linux\/\",\"url\":\"https:\/\/trysiteprice.com\/blog\/howto-bash-extract-filename-and-extension-in-unix-linux\/\",\"name\":\"HowTo: Bash Extract Filename And Extension In Unix \/ Linux - TrySitePrice\",\"isPartOf\":{\"@id\":\"https:\/\/trysiteprice.com\/blog\/#website\"},\"datePublished\":\"2023-02-08T07:42:16+00:00\",\"dateModified\":\"2023-02-08T07:42:16+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/trysiteprice.com\/blog\/howto-bash-extract-filename-and-extension-in-unix-linux\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/trysiteprice.com\/blog\/howto-bash-extract-filename-and-extension-in-unix-linux\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/howto-bash-extract-filename-and-extension-in-unix-linux\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/trysiteprice.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"HowTo: Bash Extract Filename And Extension In Unix \/ Linux\"}]},{\"@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":"HowTo: Bash Extract Filename And Extension In Unix \/ Linux - 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\/howto-bash-extract-filename-and-extension-in-unix-linux\/","og_locale":"en_US","og_type":"article","og_title":"HowTo: Bash Extract Filename And Extension In Unix \/ Linux - TrySitePrice","og_description":"You can extract the filename and extension from a file path in bash using parameter expansion and string manipulation. Here are a few examples of how to extract the filename and extension: Extract the filename and extension using parameter expansion: path=\"\/path\/to\/file.ext\" filename=\"${path##*\/}\" extension=\"${filename##*.}\" echo \"Filename: $filename\" echo \"Extension: $extension\" Extract the filename and extension using ... Read more","og_url":"https:\/\/trysiteprice.com\/blog\/howto-bash-extract-filename-and-extension-in-unix-linux\/","og_site_name":"TrySitePrice","article_published_time":"2023-02-08T07:42:16+00:00","author":"Rahul Sahu","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/trysiteprice.com\/blog\/howto-bash-extract-filename-and-extension-in-unix-linux\/#article","isPartOf":{"@id":"https:\/\/trysiteprice.com\/blog\/howto-bash-extract-filename-and-extension-in-unix-linux\/"},"author":{"name":"Rahul Sahu","@id":"https:\/\/trysiteprice.com\/blog\/#\/schema\/person\/358e04eeea4281deacad2f30c58e67f4"},"headline":"HowTo: Bash Extract Filename And Extension In Unix \/ Linux","datePublished":"2023-02-08T07:42:16+00:00","dateModified":"2023-02-08T07:42:16+00:00","mainEntityOfPage":{"@id":"https:\/\/trysiteprice.com\/blog\/howto-bash-extract-filename-and-extension-in-unix-linux\/"},"wordCount":164,"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\/howto-bash-extract-filename-and-extension-in-unix-linux\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/trysiteprice.com\/blog\/howto-bash-extract-filename-and-extension-in-unix-linux\/","url":"https:\/\/trysiteprice.com\/blog\/howto-bash-extract-filename-and-extension-in-unix-linux\/","name":"HowTo: Bash Extract Filename And Extension In Unix \/ Linux - TrySitePrice","isPartOf":{"@id":"https:\/\/trysiteprice.com\/blog\/#website"},"datePublished":"2023-02-08T07:42:16+00:00","dateModified":"2023-02-08T07:42:16+00:00","breadcrumb":{"@id":"https:\/\/trysiteprice.com\/blog\/howto-bash-extract-filename-and-extension-in-unix-linux\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/trysiteprice.com\/blog\/howto-bash-extract-filename-and-extension-in-unix-linux\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/trysiteprice.com\/blog\/howto-bash-extract-filename-and-extension-in-unix-linux\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/trysiteprice.com\/blog\/"},{"@type":"ListItem","position":2,"name":"HowTo: Bash Extract Filename And Extension In Unix \/ Linux"}]},{"@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\/3983","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=3983"}],"version-history":[{"count":1,"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/posts\/3983\/revisions"}],"predecessor-version":[{"id":3984,"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/posts\/3983\/revisions\/3984"}],"wp:attachment":[{"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/media?parent=3983"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/categories?post=3983"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/tags?post=3983"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}