对于循环文件来执行ncdump?

时间:2016-05-07 00:22:15

标签: bash shell netcdf

似乎无法找到一个类似的问题。从基本的角度来说,我只是尝试对多个文件执行操作,但我很难用for循环。我想一次ncdump多个文件并将输出存储在单独的文件中。这就是我到目前为止所拥有的。

#!/bin/bash

date='20160503'

dump1Dir=/server1/applications/VAL/gran_files

cd $dump1Dir
filelist=`ls *s$date*`

for i in $filelist do
ncdump $filelist > dumpfile[i]
done

2 个答案:

答案 0 :(得分:4)

我认为你想要的是:

for file in *s$date*.nc; do ncdump "$file" > "${file%.nc}.cdf"; done

但这包括一系列假设。

它将做的是:

  • 查找名称以扩展名.nc结尾的所有文件,其中包含s后跟变量值$date
  • 对于每个此类文件,使用ncdump创建具有相同名称的文件,将扩展名从nc更改为cdf

答案 1 :(得分:0)

这应该也可以(假设源文件的扩展名为.nc,输出使用的是.cdf)

from PyQt4 import QtCore, QtGui
import sys


try:
    _fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
    def _fromUtf8(s):
        return s

try:
    _encoding = QtGui.QApplication.UnicodeUTF8
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig)


class Ui_MainWindow(object):

    def setupUi(self, MainWindow):
        MainWindow.setObjectName(_fromUtf8("MainWindow"))
        MainWindow.resize(1920, 720)
        MainWindow.setMouseTracking(True)
        self.centralwidget = QtGui.QWidget(MainWindow)
        self.centralwidget.setMouseTracking(True)
        self.centralwidget.setObjectName("centralwidget")
        MainWindow.setCentralWidget(self.centralwidget)




class MainWIndowTest(QtGui.QMainWindow):
    def __init__(self, parent=None):
        QtGui.QMainWindow.__init__(self)
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        self.ui.centralwidget.installEventFilter(self)

    def eventFilter(self, object, event):
        if (event.type() == QtCore.QEvent.MouseMove):
            pos = event.pos()
            print("%d, %d" % (pos.x(), pos.y()))

        return QtGui.QWidget.eventFilter(self, object, event)

    def mouseMoveEvent(self, event):
        print("Moved")




import resources_rc

if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)
    win = MainWIndowTest()
    win.show()
    sys.exit(app.exec_())