linux读取文件名后缀命令

fiy 其他 25

回复

共3条回复 我来回复
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    Linux系统中,可以使用以下命令来读取文件的后缀名:

    1. 使用basename命令和expr命令结合:
    “`shell
    filename=”/path/to/file.txt”
    ext=$(expr match “$filename” ‘.*\.\(.*\)$’)
    echo $ext
    “`
    这里先使用basename命令获取文件名,然后通过expr命令正则匹配获取后缀名。

    2. 使用awk命令:
    “`shell
    filename=”/path/to/file.txt”
    ext=$(echo $filename | awk -F. ‘{print $NF}’)
    echo $ext
    “`
    这里通过awk命令指定分隔符为点号,然后打印最后一个字段,即为后缀名。

    3. 使用rev命令和cut命令结合:
    “`shell
    filename=”/path/to/file.txt”
    ext=$(echo $filename | rev | cut -d. -f1 | rev)
    echo $ext
    “`
    这里先使用rev命令反转字符串,然后使用cut命令指定分隔符为点号,取最后一个字段,再用rev命令反转回来,得到后缀名。

    以上是三种常用的读取文件后缀名的命令,在实际使用时可以根据具体需求选择适合的方法。

    2年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在Linux系统中,可以使用以下命令来读取文件的后缀名:

    1. `basename`命令:
    使用`basename`命令可以截取文件路径中的文件名部分,然后使用`–suffix`选项指定要匹配的后缀名。例如,要提取文件名为`file.txt`的文件的后缀名,可以使用以下命令:
    “`
    basename –suffix .txt file.txt
    “`
    输出结果为:
    “`
    file
    “`

    2. `rev`和`cut`命令的组合:
    `rev`命令用于反转字符串,而`cut`命令则用于截取字符串的一部分。结合使用这两个命令可以读取文件名的后缀名。例如,要提取文件名为`file.txt`的文件的后缀名,可以使用以下命令:
    “`
    echo file.txt | rev | cut -d. -f 1 | rev
    “`
    输出结果为:
    “`
    txt
    “`

    3. 使用参数扩展:
    在Bash shell中,可以使用参数扩展来读取文件名的后缀名。例如,要提取文件名为`file.txt`的文件的后缀名,可以使用以下命令:
    “`
    filename=file.txt
    echo ${filename##*.}
    “`
    输出结果为:
    “`
    txt
    “`

    4. 使用`awk`命令:
    `awk`是一种文本处理工具,可以用于提取文件名的后缀名。例如,要提取文件名为`file.txt`的文件的后缀名,可以使用以下命令:
    “`
    echo file.txt | awk -F. ‘{print $NF}’
    “`
    输出结果为:
    “`
    txt
    “`

    5. 使用`sed`命令:
    `sed`是一种流编辑器,也可以用于提取文件名的后缀名。例如,要提取文件名为`file.txt`的文件的后缀名,可以使用以下命令:
    “`
    echo file.txt | sed ‘s/.*\.//’
    “`
    输出结果为:
    “`
    txt
    “`

    这些命令可以根据文件名的具体格式和需求进行调整和组合,以满足不同的需求。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    在Linux中,可以使用一些命令来读取文件名的后缀。下面是几种常用的方法:

    方法1:使用basename和cut命令
    “`
    basename命令用于去除文件路径,只保留文件名。而cut命令用于从文件名中截取指定位置的部分。

    例如,假设有一个名为file.txt的文件,我们可以使用以下命令读取文件名的后缀:

    $ basename file.txt | cut -d. -f2
    “`
    这个命令首先使用basename命令去除文件路径,得到file.txt。然后使用cut命令指定分隔符为.(点),并提取第二个字段(即后缀)。输出将是txt。

    方法2:使用grep和awk命令
    “`
    grep命令用于从文本中匹配指定模式的行,而awk命令用于处理结构化的文本数据。

    例如,假设有一个名为file.txt的文件,我们可以使用以下命令读取文件名的后缀:

    $ echo file.txt | grep -o ‘\.[^.]*$’ | awk -F. ‘{print $2}’
    “`
    这个命令首先使用echo命令将文件名file.txt输出。然后使用grep命令匹配以点开头,后面跟着零个或多个非点字符的模式,并使用-o选项输出匹配到的内容(即后缀)。接着使用awk命令指定分隔符为.(点),并打印第二个字段(即后缀)。输出将是txt。

    方法3:使用rev和cut命令
    “`
    rev命令用于将文本逆序输出,而cut命令用于从文本中截取指定位置的部分。

    例如,假设有一个名为file.txt的文件,我们可以使用以下命令读取文件名的后缀:

    $ echo file.txt | rev | cut -d. -f1 | rev
    “`
    这个命令首先使用echo命令将文件名file.txt输出。然后使用rev命令将输出结果逆序,得到txt.elif。接着使用cut命令指定分隔符为.(点),并打印第一个字段(即后缀)。最后再使用rev命令将得到的后缀再次逆序,输出将是txt。

    总结
    这些方法都可以用来读取Linux系统中文件名的后缀。具体选择哪种方法取决于个人的偏好和需求。无论使用哪种方法,都可以根据实际情况进行适当的调整。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部