回答編集履歴

2

誤字訂正

2020/05/01 10:20

投稿

otn
otn

スコア85901

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- また、`sort $TranArchivePath/*.csv`だとファイルの中身をソートするので、ファイル名ソートにはなりません。`sort`コマンドを使わなくても`ls -r`でファイル名の逆順にリストされます。
5
+ また、`sort $TranArchivePath/*.csv`だとファイルの中身をソートするので、ファイル名ソートにはなりません。`sort`コマンドを使わなくても`ls -r`でファイル名の逆順にリストされます。
6
6
 
7
7
 
8
8
 

1

追記

2020/05/01 10:20

投稿

otn
otn

スコア85901

test CHANGED
@@ -2,4 +2,22 @@
2
2
 
3
3
 
4
4
 
5
+ また、`sort $TranArchivePath/*.csv`だとファイルの中身をソートするので、ファイル名をソートにはなりません。`sort`コマンドを使わなくても`ls -r`でファイル名の逆順にリストされます。
6
+
7
+
8
+
5
9
  方針としては、既にある回答のように、10個あるとか無いとか場合分けをしないのが良いです。
10
+
11
+
12
+
13
+ ```sh
14
+
15
+ ls -r $TranArchivePath/*.csv | tail -n +11 | xargs -r rm
16
+
17
+ ```
18
+
19
+ また、ファイルが10個以下の場合は`xargs`には何も渡らないので、その場合`rm`を実行しないよう`xargs -r`とします。
20
+
21
+
22
+
23
+ 上記は、(スクリプトファイルに書くのでなく)コマンドラインから打つときは、`ls`は`alias`されていることが多いので、`ls`でなく`\ls`あるいは`/bin/ls`と入力します。