baidu_28136265
2015-08-06 03:14
采纳率: 66.7%
浏览 3.5k

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

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

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 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}"

    已采纳该答案
    打赏 评论
  • oyljerry 2015-08-06 04:34

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

     filelist=`ls /home/work/file/*.csv`
    for file in $filelist
    do 
     echo $file
    done
    
    打赏 评论
  • 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}"

    打赏 评论

相关推荐 更多相似问题