У меня около 500 файлов, которые мне нужно переименовать с датой представления отчета. Имена файлов в настоящее время:Bash - Изменение имени файла Дата + 1
WUSR1453722998383.csv
WUSR1453723010659.csv
WUSR1453723023497.csv
И так далее. Номера в имени файла не имеют ничего общего с датой, поэтому я не могу использовать имя файла в качестве руководства для того, для чего должен быть переименован файл. Отчеты начинаются с 02/12/2014, и есть отчет за каждый день месяца до вчерашнего дня (09/04/2016). К счастью, также имя файла является последовательным - так что 04/12/2014 будет иметь большее число, чем 03/12/2014, которое будет иметь большее число, чем 02/12/2014. Это означает, что файлы автоматически перечислены в алфавитном порядке.
Существует, однако дата в первой строке CSV перед данными:
As at Date,2014-12-02
Теперь я проверил, что у меня есть все файлы уже и я, так что это лучший способ, чтобы переименовать там до даты? Я могу установить дату начала как 02/12/2014 и переименовать каждый файл в качестве даты +1 или сценарий может прочитать дату в первой строке файла (например, As at Date,2014-12-02
) и использовать эту дату для переименования файла.
Я понятия не имею, как написать один из методов выше в bash, поэтому, если бы вы могли помочь в этом, это было бы действительно оценено.
С точки зрения выхода файла, я надеялся:
02-12-2014.csv 03-12-2014.csv
И так далее
Добро пожаловать в Переполнение стека. Вскоре прочитайте страницу [О программе]. Вы хотите, чтобы файлы отображались в порядке даты? Так что, используя имена типа 'WUSR-2014-02-12.csv' (или, возможно,' WUSR-20140212.csv'), вы укажете дату в названии? Вы должны добавить желаемый результат (окончательные имена файлов) к своему вопросу (вы можете отредактировать свой вопрос). Вам нужно сохранить исходный номер? Как вы проверили, что у вас есть все файлы? Независимо от того, что вы сделали, вы должны дать вам некоторое представление о том, как получить необходимую информацию в сценарии оболочки. Что вы пробовали? –
Я использовал: head -q -n 1 * .csv> output.csv, чтобы проверить, что у меня есть весь файл (я использовал выходной CSV и сопоставлял его с каждой датой с 02/12/2014 по вчерашний день, и они все там). Я предполагаю, что я могу использовать что-то подобное для переименования файлов (где он берет первую строку каждого CSV и использует дату там для переименования файла), я просто не знаю, как точно связать все это вместе. .. –
Я никогда не понимаю, почему людям нравятся файлы, заказанные таким образом, чтобы файлы с 14 февраля 2014 года сопровождались файлом 14 февраля 2015 года и 14 февраля 2016 года, а затем 15 февраля 2014 года, 15 февраля 2015 года, 15 февраля 2016 года и т. Д. Тем не менее, это распространенная проблема - должна быть какая-то причина, но я уверен, что она в основном подсознательна. –