Sometimes you may need to extract the file name from a given path. For such use cases, Linux shells provide basename function, which strips directory and trailing suffix from given path values. In this article, we will learn how to use basename command in shell script.
What is Basename Command in Shell Script
There are couple of ways to use basename command in shell script.
basename NAME [SUFFIX] basename OPTION... NAME...
Basename command takes a path and prints the last part of it. It will also remove any trailing slashes. But it will retain file extensions. Here are some examples.
$ basename /home/data.txt data.txt $ basename /home/data/ data $ basename /home/data data
Using Multiple Inputs
If you want to get basename of multiple paths then you need to use -a or –multiple option followed by each path in a space-separated manner. Here is an example to get basename of /home/projects and /home/ubuntu/.
$ basename -a /home/ubuntu/ /home/projects ubuntu projects
Remove Trailing Suffix
You can also use basename command to remove trailing suffix from file path by mentioning it as second argument.
$ basename /home/data.txt .txt data
You may also use -s option and specify suffix before mentioning the file path.
$ basename -s .txt /home/data.txt
You can also use it in combination with -a option described above, to remove suffixes of multiple files.
$ basename -a -s .txt /home/data.txt /home/projects/data1.txt data data1
This technique is used to remove extensions from file names.
That’s it. In this short article, we have learnt what is basename and how to use it.
Also read:
How to Compare Strings in Python
How to Copy List in Python
How to Copy Files in Python
How to Comment in Python
Git Rename Local & Remote Branch
Related posts:
How to Take Screenshot in Ubuntu Terminal
How to Send Email With Attachment in Linux
How to Check Supported TLS/SSL Version in Linux
How to Encrypt Folder in Linux
How to Disable Unnecessary Services in Linux
How to Use Wget to Download File Via Proxy
Ubuntu Change Terminal Font Size & Color
How to Truncate File in Linux

Sreeram has more than 10 years of experience in web development, Python, Linux, SQL and database programming.