Need help with the rename command in Linux
I have several files with these names:
file1, A.ext
file1, The.ext
I need to change there names as
A file1.ext
The file1.ext
That is I need to move the article from the end to the beginning erasing the comma. How would I do that?
I have looked into rename command but I have no experience with perl regex, I came up with this ridiculous command which doesn't work, I'm leaving it for showing my hopelessness:
rename 's/(?<=[A-Z a-z s]*),sA//' *
rename
add a comment |
I have several files with these names:
file1, A.ext
file1, The.ext
I need to change there names as
A file1.ext
The file1.ext
That is I need to move the article from the end to the beginning erasing the comma. How would I do that?
I have looked into rename command but I have no experience with perl regex, I came up with this ridiculous command which doesn't work, I'm leaving it for showing my hopelessness:
rename 's/(?<=[A-Z a-z s]*),sA//' *
rename
add a comment |
I have several files with these names:
file1, A.ext
file1, The.ext
I need to change there names as
A file1.ext
The file1.ext
That is I need to move the article from the end to the beginning erasing the comma. How would I do that?
I have looked into rename command but I have no experience with perl regex, I came up with this ridiculous command which doesn't work, I'm leaving it for showing my hopelessness:
rename 's/(?<=[A-Z a-z s]*),sA//' *
rename
I have several files with these names:
file1, A.ext
file1, The.ext
I need to change there names as
A file1.ext
The file1.ext
That is I need to move the article from the end to the beginning erasing the comma. How would I do that?
I have looked into rename command but I have no experience with perl regex, I came up with this ridiculous command which doesn't work, I'm leaving it for showing my hopelessness:
rename 's/(?<=[A-Z a-z s]*),sA//' *
rename
rename
edited 9 mins ago
klaus
asked May 28 '18 at 6:49
klausklaus
2199
2199
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
You would need to have:
rename -n 's/^([^,]*),s*(.*).ext$/$2 $1.ext/' *
This
^([^,]*),
matches everything but a comma until a first comma seen from the begging of the files name.This
s*(.*).ext$
matches zero-or-more whitespaces followed by anything and ends with.ext
.The
$2
and$1
is back-references to the(.*)
and([^,]*)
respectively.
will do rename as following:
rename(a single file,.ext, a single file.ext)
rename(a single file, some thing.ext, some thing a single file.ext)
rename(file1, A.ext, A file1.ext)
rename(file1, the.ext, the file1.ext)
P,s: remove -n
to do rename on files which is used for testing.
I came up with the following before seeing your answer:rename 's/(dd)s((w|s)*),s(A|The)/1 4 2/' *
– klaus
May 28 '18 at 7:11
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "106"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f446415%2fneed-help-with-the-rename-command-in-linux%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You would need to have:
rename -n 's/^([^,]*),s*(.*).ext$/$2 $1.ext/' *
This
^([^,]*),
matches everything but a comma until a first comma seen from the begging of the files name.This
s*(.*).ext$
matches zero-or-more whitespaces followed by anything and ends with.ext
.The
$2
and$1
is back-references to the(.*)
and([^,]*)
respectively.
will do rename as following:
rename(a single file,.ext, a single file.ext)
rename(a single file, some thing.ext, some thing a single file.ext)
rename(file1, A.ext, A file1.ext)
rename(file1, the.ext, the file1.ext)
P,s: remove -n
to do rename on files which is used for testing.
I came up with the following before seeing your answer:rename 's/(dd)s((w|s)*),s(A|The)/1 4 2/' *
– klaus
May 28 '18 at 7:11
add a comment |
You would need to have:
rename -n 's/^([^,]*),s*(.*).ext$/$2 $1.ext/' *
This
^([^,]*),
matches everything but a comma until a first comma seen from the begging of the files name.This
s*(.*).ext$
matches zero-or-more whitespaces followed by anything and ends with.ext
.The
$2
and$1
is back-references to the(.*)
and([^,]*)
respectively.
will do rename as following:
rename(a single file,.ext, a single file.ext)
rename(a single file, some thing.ext, some thing a single file.ext)
rename(file1, A.ext, A file1.ext)
rename(file1, the.ext, the file1.ext)
P,s: remove -n
to do rename on files which is used for testing.
I came up with the following before seeing your answer:rename 's/(dd)s((w|s)*),s(A|The)/1 4 2/' *
– klaus
May 28 '18 at 7:11
add a comment |
You would need to have:
rename -n 's/^([^,]*),s*(.*).ext$/$2 $1.ext/' *
This
^([^,]*),
matches everything but a comma until a first comma seen from the begging of the files name.This
s*(.*).ext$
matches zero-or-more whitespaces followed by anything and ends with.ext
.The
$2
and$1
is back-references to the(.*)
and([^,]*)
respectively.
will do rename as following:
rename(a single file,.ext, a single file.ext)
rename(a single file, some thing.ext, some thing a single file.ext)
rename(file1, A.ext, A file1.ext)
rename(file1, the.ext, the file1.ext)
P,s: remove -n
to do rename on files which is used for testing.
You would need to have:
rename -n 's/^([^,]*),s*(.*).ext$/$2 $1.ext/' *
This
^([^,]*),
matches everything but a comma until a first comma seen from the begging of the files name.This
s*(.*).ext$
matches zero-or-more whitespaces followed by anything and ends with.ext
.The
$2
and$1
is back-references to the(.*)
and([^,]*)
respectively.
will do rename as following:
rename(a single file,.ext, a single file.ext)
rename(a single file, some thing.ext, some thing a single file.ext)
rename(file1, A.ext, A file1.ext)
rename(file1, the.ext, the file1.ext)
P,s: remove -n
to do rename on files which is used for testing.
edited May 28 '18 at 7:08
answered May 28 '18 at 7:02
αғsнιηαғsнιη
16.9k102865
16.9k102865
I came up with the following before seeing your answer:rename 's/(dd)s((w|s)*),s(A|The)/1 4 2/' *
– klaus
May 28 '18 at 7:11
add a comment |
I came up with the following before seeing your answer:rename 's/(dd)s((w|s)*),s(A|The)/1 4 2/' *
– klaus
May 28 '18 at 7:11
I came up with the following before seeing your answer:
rename 's/(dd)s((w|s)*),s(A|The)/1 4 2/' *
– klaus
May 28 '18 at 7:11
I came up with the following before seeing your answer:
rename 's/(dd)s((w|s)*),s(A|The)/1 4 2/' *
– klaus
May 28 '18 at 7:11
add a comment |
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f446415%2fneed-help-with-the-rename-command-in-linux%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown