baidu_28136265
baidu_28136265
采纳率66.7%
2015-08-06 03:14 阅读 3.3k

shell:输出目录下某一类型的所有文件名,并用逗号分隔,如何实现?新手求教

2

我有个控制文件ctl中一项file_list=20150701.csv,abcd.csv.........,*.csv
如何能自动将目录下所有*.csv文件的文件名获取然后写成上面的格式?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • 已采纳
    AF_thf AF_thf 2015-08-22 15:11

    #!/bin/sh

    $1 : dir path

    $1: file suffix -- eg: csv

    if [ $# != 2 ]; then
    echo "input error."
    exit 1
    fi
    dir_path=$1
    file_subffix=$2

    echo “dir path: ${dir_path}”
    echo "file subffix:${file_subffix}"

    output=""

    filelist="ls ${dir_path}/*.${file_subffix}"
    for file in $filelist
    do
    output=${output},${file}
    done

    echo "file_list=${output}"

    点赞 1 评论 复制链接分享
  • oyljerry oyljerry 2015-08-06 04:34

    遍历得到所有文件。然后用逗号连接

     filelist=`ls /home/work/file/*.csv`
    for file in $filelist
    do 
     echo $file
    done
    
    点赞 评论 复制链接分享
  • AF_thf AF_thf 2015-08-22 15:12

    #!/bin/sh

    $1 : dir path

    $1: file suffix -- eg: csv

    if [ $# != 2 ]; then
    echo "input error."
    exit 1
    fi
    dir_path=$1
    file_subffix=$2

    echo “dir path: ${dir_path}”
    echo "file subffix:${file_subffix}"

    output=""

    filelist="ls ${dir_path}/*.${file_subffix}"
    for file in $filelist
    do
    output=${output},${file}
    done

    echo "file_list=${output}"

    点赞 评论 复制链接分享

相关推荐