대화형으로 삭제된 파일 및 디렉터리 수를 계산하고 싶습니다.
for f in /tmp/mydir/* ; do
rm -ir "$f"
done
가장 간결하고 우아한 방법으로 이를 수행하는 방법은 무엇입니까?
예:
abc@def:/tmp/mydir$ tree
.
├── 1
├── 2
├── 3
├── 4
├── A
│ ├── 1
│ ├── 2
│ └── 3
├── B
│ ├── 1
│ └── 2
└── C
3 directories, 9 files
모든 답변이 다음과 같은 경우와이(예) 그렇다면 나는 다음과 같은 대답을 기대합니다.
- 7(개수:
1
,2
,3
,4
,A
, ,B
,C
) 또는: - 10(계산:
1
,2
,3
,4
,A/1
,A/2
,A/3
,B/1
,B/2
)C
.
두 버전 모두 인기가 있습니다.
대화형 작업을 실행하기 전후에 파일/디렉터리 수를 셀 수 있다는 것을 알고 있지만 rm
실제로는 텍스트 파일에 저장된 파일 사이를 반복하고 있기 때문에 그렇지 않습니다.
답변1
그냥 사용:
rm -vri files | wc -l
Dirs(즉, 삭제된)도 포함됩니다 A
. -v
성공 removed ’file’
(또는 디렉터리) 출력만 으로 전송 stdout
되고 다른 모든 출력은 으로 전송되므로 이는 작동합니다 stderr
.
12
귀하의 예에서는 3개의 디렉터리와 9개의 파일이 있기 때문에 출력이 됩니다 .