【问题标题】:Write file names in to a file using UNIX command使用 UNIX 命令将文件名写入文件
【发布时间】:2018-09-24 15:45:48
【问题描述】:

我正在处理一个类似的场景,即必须将文件名列表插入到特定目录中的 filename.txt 中。这需要在一个命令中完成,因为我想在 Autosys 作业中使用此命令。我已经尝试了下面的场景,但是它插入了文件名和目录,但我期待没有目录的输出文件名。请建议我如何进行此操作。

文件名列表: ls /path/file*.csv file1.csv file2.csv file3.csv file4.csv file5.csv

我正在使用的命令: /path/file*.csv > /path/file.txt

电流输出: cat /path/file.txt /path/file1.csv /path/file2.csv /path/file3.csv /path/file4.csv /path/file5.csv

预期输出: cat /path/file.txt file1.csv file2.csv file3.csv file4.csv file5.csv

提前致谢。

【问题讨论】:

  • cd /path,然后是ls -1 *.csv > /other/path/file.txt
  • 只是为了添加到前面的评论中,在单行中发出一个分号 ( ; ) 在 cd 命令和 ls 之间。
  • 正确。非常感谢各位!! :)

标签: shell unix


【解决方案1】:

备用:

find /path -name 'file*.csv' -printf '%f\n' > /path/files.txt

虽然这将下降到子目录中,如果有的话。


不下降到子目录:

find /path -maxdepth 1 -name 'file*.csv' -printf '%f\n' > /path/files.txt
#          ^^^^^^^^^^^

【讨论】:

    猜你喜欢
    • 2011-02-19
    • 2013-06-22
    • 2013-03-06
    • 2015-07-19
    • 2011-05-15
    • 2021-12-23
    • 2013-10-06
    • 1970-01-01
    • 2013-04-07
    相关资源
    最近更新 更多