0

Ubuntu で一連のファイル (*.txt) をあるディレクトリから別のディレクトリにコピーしたい。サイズを小さくしたいので、 head を使用してそれぞれの最初の 100 行を取得しています。

新しいファイルは元の名前を保持したまま、サブディレクトリに配置したいと考えていますsmall/。私が試してみました:

head -n 100 *.txt > small/*.txt

しかし、これは*.txt. 私も試しました:

head -n 100 *.txt > small/

しかし、これはIs a directoryエラーになります。

簡単なはずですが、私は Linux がかなり苦手です。どんな助けでも大歓迎です。

4

2 に答える 2

3

代わりにループを作成する必要があります。

for file in *.txt; do
    head -n 100 "$file" > small/"$file"
done

これは、すべてのファイルをループして、すべての.txtファイルで a を実行head -n 100し、ディレクトリ内の新しいファイルに出力しますsmall/

于 2016-04-21T09:51:26.700 に答える
1

試す

for f in *.txt; do
  head -n 100 $f > small/$f
done
于 2016-04-21T09:51:27.747 に答える