将sort命令逐个应用于多个文件

时间:2015-06-18 02:03:36

标签: linux bash shell

我有很多文件1.txt,2.txt,... 100.txt。

我想对每个文件中的数据进行排序,例如sort -n 1.txt> 1_sorted.txt

我想通过简单的命令知道如何使用许多文件。

4 个答案:

答案 0 :(得分:3)

这将允许您使用GNU parallel

并行排序
    private void printerConfiguration() throws PrinterException {

    PrintService printService = PrintServiceLookup.lookupDefaultPrintService();
    PrintService defaultPrintService = PrintServiceLookup.lookupDefaultPrintService();
    Media res = (Media) defaultPrintService.getDefaultAttributeValue(Media.class);
    PrintRequestAttributeSet attr_set = new HashPrintRequestAttributeSet();
    attr_set.add(res);

    PrinterJob pj = PrinterJob.getPrinterJob();
    pf1 = pj.getPageFormat(attr_set);
    pj.setPrintService(printService);

    Paper paper = new Paper();
    double margin = 2;

    paper.setImageableArea(margin, 0, paper.getImageableWidth(), paper.getImageableHeight());
    pf1.setPaper(paper);

    pj.setPrintable(this, pf1);
    pj.print();
}

答案 1 :(得分:2)

使用简单的for循环:

for f in {1..100}; do
    sort -n "$f.txt" > "${f}_sorted.txt"
done

答案 2 :(得分:1)

 find . -maxdepth 1 -name \*.txt -print0 |
   xargs -0 -n 1 -I{} bash -c 'sort -n {} > `basename -s .txt {}`_sorted.txt'

答案 3 :(得分:1)

您可以按如下方式运行shell脚本。(sort.sh)

#!/bin/bash
for f in *.txt
do
sort -n  "$f" > "sorted_$f"
done

使用当前文件夹并使用执行权限(chmod + x sort.sh)

运行此命令