Я хочу открыть несколько файлов с помощью vi
или даже less
и удалить те, которые мне безразличны, не возвращаясь в оболочку и переходя к следующему.
2 ответа
Вопрос имеет много толкований, но я думаю, вам нужен какой-то автоматический визуализатор, который спрашивает, хотите ли вы сохранить / удалить файл. Один из методов может быть таким:
Дан список файлов:
#!/bin/bash
for f in "$@"; do
less "$f"
# head -n 10
rm -i "$f"
done
Имеется каталог, который содержит файлы:
#!/bin/bash
dir="$1"
for f in "$dir/*"; do
less "$f"
# head -n 10
rm -i "$f"
done
В обоих сценариях вам придется выйти из процесса less
, нажав Q, прежде чем вы сможете выбрать сохранение или удаление файла. Вместо этого вы можете использовать команду head -n 10
чтобы избежать этого и отображать только первые 10 строк.
Запустите их из командной строки и укажите правильные параметры. Удачи.
С помощью vi вы можете открывать несколько файлов, явно или по шаблону, например:
vi 1.txt 2.txt
vi *.txt
Как только они открыты, вы можете перемещаться между ними несколькими способами. :ls
покажет список открытых файлов. Для переключения вы можете использовать либо имя, либо индекс, например, b1
чтобы открыть файл 1 в списке, или b 1.txt
чтобы явно переключиться на файл.
:n
и :p
будут действовать как следующий и предыдущий соответственно.
:bd
закроет файл.