Сценарий Linux для анализа строки текста и сравнения двух строк в строке [закрыто]Linux

Ответить
Anonymous
 Сценарий Linux для анализа строки текста и сравнения двух строк в строке [закрыто]

Сообщение Anonymous »


Я написал несколько сценариев Linux для переименования файлов и папок, содержащих нестандартные символы ascii, для совместимости с компьютерами Mac, NAS-серверами и Windows. Мои сценарии работают путем перемещения (mv) старой сомнительной папки/имени файла в новую чистую папку/имя файла.

Похоже, что сценарий сработал очень хорошо, но я хочу проверить результаты на случай, если возникнет какая-то аномалия, которую я не ожидал. В одном файле результатов у меня 251 068 строк, поэтому прокрутка файла займет значительное время.

В частности, я хотел бы проверить, чтобы имена файлов mv не были идентичными.

Глядя на два файла, обработанных ниже, первый из них содержит сомнительные символы, поэтому я удаляю их и пытаюсь переименовать, переходя к новому имени без сомнительных символов, но файл уже существует, поэтому мой код зацикливается на добавлении числовое значение в конце нового имени файла до тех пор, пока это имя файла не перестанет существовать, и тогда mv сможет продолжить работу. То же самое и со вторым файлом, за исключением того, что на этот раз нового имени файла не существовало, поэтому это был прямой mv.

Мне нужно проанализировать эхо команды mv (которое содержит ->) и сравнить левую и правую строки (старые и новые имена файлов, заключенные в одинарные кавычки), чтобы увидеть, что они различны. Если это не так, мне нужно выделить эту строку, чтобы я мог ее изучить.

Я понимаю, что AWK будет лучшим способом сделать это, но я ни в коем случае не являюсь гуру сценариев Linux или Bash, и мне потребовался месяц, чтобы написать серию имеющихся у меня сценариев для переименования файлов и папок. . К сожалению, у меня нет еще месяца на изучение AWK, поэтому я обращаюсь к сообществу, чтобы узнать, может ли мне помочь гений AWK.

Если я не смогу получить что-то в AWK, мне придется написать для этого какой-нибудь vbscript, но я бы предпочел придерживаться Linux, если смогу, потому что я хочу понять и AWK, и GREP более подробно. Программирование — моя первая любовь, и меня поразила мощь команд и сценариев Linux; но мне нужно управлять реалиями ИТ-отдела, поэтому мне нужен ярлык, пожалуйста. Заранее благодарим всех, кто готов помочь.

Обработка: [Новое счастье]

Имя папки /share/PK/Raspberry Blossom/RB SS2024/Supplied/New Happiness существует

'/share/PK/Цветок малины/RB SS2024/В комплекте/Новое счастье' -> '/share/PK/Цветок малины/RB SS2024/В комплекте/Новое счастье1'

Обработка: [2.Новое счастье]

'/share/PK/Малиновый цвет/RB SS2024/В комплекте/2.Новое счастье' -> '/share/PK/Малиновый цвет/RB SS2024/В комплекте/2.Новое счастье'

Я просмотрел множество публикаций об AWK, но эта команда не поддается быстрому изучению, поэтому я прибегнул к прокрутке файла, что заняло у меня вечность. Я могу извлечь все эхо-сигналы mv в другой файл с помощью grep, но тогда мне придется идти дальше. Но время не на моей стороне, это должно было начаться в августовские выходные.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»