Удалить все скрытые файлы

Используйте инструмент paste, просто добавьте | paste -sd,в цикл:

for((i=1; i<=1000; i++))
do 
    name="File.${i}.exe"; [[ ! -e "$name" ]] && echo "$i" 
done | paste -sd,

Пояснение:

paste - merge lines of files
paste [OPTION]... [FILE]...
With no FILE, or when FILE is -, read standard input.

  • -s:вставлять по одному файлу вместо параллельного
  • -d:разделитель(,в данном случае)
0
30.01.2020, 21:41
1 ответ
find yourstartingpath/ -name ".*" -type f -exec rm {} \; -print

-печатать только если нужен их список

пример:

francois@zaphod:~/tmp/test$ touch {a,b,c,a/1,a/2,b/2}/.hid
francois@zaphod:~/tmp/test$ touch {a,b,c,a/1,a/2,b/2}/nothid
francois@zaphod:~/tmp/test$ tree
.
├── a
│   ├── 1
│   │   └── nothid
│   ├── 2
│   │   └── nothid
│   └── nothid
├── b
│   ├── 2
│   │   └── nothid
│   └── nothid
└── c
    └── nothid

6 directories, 6 files
francois@zaphod:~/tmp/test$ find. -name ".*" -type f -exec rm {} \; -print
./b/.hid
./b/2/.hid
./a/1/.hid
./a/.hid
./a/2/.hid
./c/.hid
francois@zaphod:~/tmp/test$ tree
.
├── a
│   ├── 1
│   │   └── nothid
│   ├── 2
│   │   └── nothid
│   └── nothid
├── b
│   ├── 2
│   │   └── nothid
│   └── nothid
└── c
    └── nothid

6 directories, 6 files
francois@zaphod:~/tmp/test$

все файлы nothid (den )остаются нетронутыми

Пожалуйста :Никогда не запускайте цикл for или команду find... exec rm без предварительного резервного копирования данных:)

2
28.04.2021, 23:25

Теги

Похожие вопросы