将grep输出到xargs

时间:2015-05-07 16:05:22

标签: grep xargs

我正在尝试过滤某些报告命令的git ls-files输出,然后将该输出传递给xargs。我最初在-z git ls-files上使用-Z工作正常,但是现在我正在使用grep,我需要恢复该功能。

尝试grep版本git ls-files | grep -Z -e={\*.js,\*.html} 对实际输出没有任何作用。

JComboBox<String> stopListDeparture = new JComboBox<String>();

    int[] routeArray = BusStopInfo.getRoutes();
    int[] stopIdArray = new int[0];
    ArrayList<String>stopName = new ArrayList<String>();

    for(int i = 0; i < routeArray.length; i++) {
        stopIdArray = BusStopInfo.getBusStops(routeArray[i]);
        for (int j = 0; j < stopIdArray.length; j++) {
            stopName.add(BusStopInfo.getFullName(stopIdArray[j]));
        }//for
    } // for
    String[] nameArray = stopName.toArray(new String[stopName.size()]);
    nameArray = stopName.toArray(nameArray);
    for (int k = 0; k < stopIdArray.length; k++){
        stopListDeparture = new JComboBox<String>(nameArray);
    }

    stopListDeparture.setSelectedIndex(0);
    setLayout(new BorderLayout());
    add(stopListDeparture, BorderLayout.NORTH);

1 个答案:

答案 0 :(得分:0)

grep的-Z选项似乎仅适用于包含匹配内容而非匹配行内容的文件名。这对我来说似乎很奇怪,但似乎它是如何运作的。

你实际上并不需要grep这里(你原来不需要*,或者它没有添加任何有价值的东西)。

git ls-files采用模式匹配文件名。

所以你想在这里使用这个命令。

git ls-files -z -- '*.js' '*.html'