如何使用shell脚本自动化dos2unix?

Ala*_*ith 7 bash shell dos2unix

我在一个目录中有一堆xml文件需要对它们执行dos2unix命令,并且每隔一段时间就会添加新文件.我不是每次都在每个文件上手动执行dos2unix命令,而是希望使用脚本自动完成所有这些操作.在我的生活中,我甚至都没有看过shell脚本,但到目前为止,我从一些教程中读到了这些内容:

FILES=/tmp/testFiles/*
for f in $FILES
do
  fname=`basename $f`
  dos2unix *.xml $f $fname
done
Run Code Online (Sandbox Code Playgroud)

但是我一直在显示'使用'输出.我认为问题是我没有正确分配新文件的名称(fname).谁能帮忙.

谢谢,艾伦

Pau*_*ce. 6

您获取使用消息的原因是dos2unix不会采用您提供的额外参数.但是,它会接受多个文件名(也可以通过globs).除非您处理的文件多于命令行上可接受的文件,否则不需要循环.

dos2unix /tmp/testFiles/*.xml
Run Code Online (Sandbox Code Playgroud)

应该是你需要的,除非你需要递归:

find /tmp/testFiles -name '*.xml' -exec dos2unix {} +
Run Code Online (Sandbox Code Playgroud)

(对于GNU查找)