我需要在数百个文件上运行命令,我需要帮助才能获得循环来执行此操作:
我尝试过这样的事情:
for f in /path/dir/file*.csv; do command
,但每次如何读取和写入新文件?
谢谢....
答案 0 :(得分:0)
尝试此操作,(将/path/to/data
更改为正确的路径后。与/path/to/awkscript
和其他位置相同,指向您的测试数据。)
#!/bin/bash
cd /path/to/data
for f in *.csv ; do
echo "awk -f /path/to/awkscript \"$f\" > ${f%.csv}.rpt"
#remove_me awk -f /path/to/awkscript "$f" > ${f%.csv}.rpt
done
制作脚本"可执行文件"与
chmod 755 myScript.sh
echo
版本将帮助您确保脚本按预期工作。您仍然需要仔细检查输出或处理数据副本,这样您就不会破坏基线数据。
您可以获取最后一次迭代的输出
awk -f /path/to/awkscript myFileLast.csv > myFileLast.rpt
复制/粘贴到cmd-line以确认它可以正常工作。
如果您觉得awk
脚本可以正常工作,那么请注释掉echo awk ..
行,并取消注释#remove_me
一词(并保存您的bash脚本)。
答案 1 :(得分:0)
public abstract class DataSource<T> : IDataSource<T> where T : IData
希望这有帮助,我在我的黑莓上,所以可能存在拼写错误