linux - 删除存储在文件中的完整路径的路径前缀

标签 linux bash awk sed

我有一个包含多个完整路径的文件

/home/pi/1.txt
/home/pi/2.txt
/home/pi/3.txt

我想获取每个文件的基本名称

1.txt
2.txt
3.txt

我只知道我可以获取每一行并使用命令

basename

是否可以更简单地实现我的目标?谢谢。

最佳答案

我想到的最简单的方法是:

 basename -a $(<foo.txt)

这是有效的,因为进程替换 $() 是文件的重定向输出,然后由于分词而被分成多个参数。 Basename 使用 -a 接受多个参数。

请注意,如果文件的路径名中有空格(因为上述分词),这将不起作用。

关于linux - 删除存储在文件中的完整路径的路径前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43289756/

相关文章:

bash - 如何使用zenity查找.mp3文件

linux - Bash 脚本 - Bash 脚本 - 编辑文件中文本的行

linux - 对 bash 行为感到困惑 - Bash/awk mystery

svn - Bash 大小写语法 - "-@"的含义

regex - grep 特定字符串并计算致命和错误的数量

Bash - 查看文件中的特定行及其相应的行号

php - 如何在 PHP 上启用 ZTS?

mysql - 从文本文件中的术语列表创建 MySQL 表

Linux 脚本无法正常工作

c - Linux中进程和线程的区别