Как переименовать папки, которые содержат последовательную подстроку в конце, используя команду mv? - PullRequest
0 голосов
/ 27 августа 2018

У меня есть много папок со следующим шаблоном:

$ ls
a-master 123-master abc123-master

Я хочу, чтобы они были:

$ ls
a 123 abc123

Во время моего исследования я нашел этот ответ . Но когда я запустил mv "$f" "${f/-master/}", я получил ошибку mv: rename to : No such file or directory, и я не уверен, почему.

Я нашел много ответов, рекомендующих переименовать пакет, но я не предпочитаю его. Я думаю, что это можно сделать, просто используя команду mv , но я не совсем уверен, как.

Возможно ли? Если возможно, какая команда подходит для этого случая?

Я ищу одну команду лайнера, короткую и приятную.

1 Ответ

0 голосов
/ 28 августа 2018

Я получаю информацию из общей ссылки -

для f в opencv_ *; do mv "$ f" "$ {f / .so /}"; сделано

Команда mv работает в цикле, где f определяется как временная переменная, тогда как отправленный запрос не имеет переменной. (f == "")

Пример, mkdir abc123-master экспорт F = abc123-мастер mv $ F $ {F / -master /} ls -rlt абв123

...