substract and replace values in string using shell
I am newbie to shell scripting and learning.
I have files in folder.
which look like
1232_2019_02_09_12_29_29.txt
1232_2019_02_09_12_29_55.txt
I want to extract 2019_02_09_12_29_29 & 2019_02_09_12_29_55 from file name and convert into
2019-02-09-122929 & 2019-02-09-122955.
#!/bin/sh
path=$1
if [[ -z $1 ]];then
echo "USAGE:: Argument missing, supply full path to list all files"
exit 1
fi
if [ -f $path/all_files.txt ] ; then
rm -f $path/all_files.txt
fi
ls -l $path | grep -v "^d" | awk '{print $9}' > $path/all_files.txt
while read -r line
do
line=${line##*/}
# echo "${line%"/}"
ex1=`awk -F'|' '{print substr($1,length($1)-22, 19)}'`
# ex2=`awk -F'|' '{print substr($1,length($1)-19, 10)}'`
echo $ex1
ex2=$(echo $ex1 | cut -c 1-10)
echo $ex2
ex3=$(echo $ex1 | cut -c 12-20)
echo $ex3
done <$path/all_files.txt
But this code is not giving me desired output.
Can anyone help?
shell-script
New contributor
add a comment |
I am newbie to shell scripting and learning.
I have files in folder.
which look like
1232_2019_02_09_12_29_29.txt
1232_2019_02_09_12_29_55.txt
I want to extract 2019_02_09_12_29_29 & 2019_02_09_12_29_55 from file name and convert into
2019-02-09-122929 & 2019-02-09-122955.
#!/bin/sh
path=$1
if [[ -z $1 ]];then
echo "USAGE:: Argument missing, supply full path to list all files"
exit 1
fi
if [ -f $path/all_files.txt ] ; then
rm -f $path/all_files.txt
fi
ls -l $path | grep -v "^d" | awk '{print $9}' > $path/all_files.txt
while read -r line
do
line=${line##*/}
# echo "${line%"/}"
ex1=`awk -F'|' '{print substr($1,length($1)-22, 19)}'`
# ex2=`awk -F'|' '{print substr($1,length($1)-19, 10)}'`
echo $ex1
ex2=$(echo $ex1 | cut -c 1-10)
echo $ex2
ex3=$(echo $ex1 | cut -c 12-20)
echo $ex3
done <$path/all_files.txt
But this code is not giving me desired output.
Can anyone help?
shell-script
New contributor
add a comment |
I am newbie to shell scripting and learning.
I have files in folder.
which look like
1232_2019_02_09_12_29_29.txt
1232_2019_02_09_12_29_55.txt
I want to extract 2019_02_09_12_29_29 & 2019_02_09_12_29_55 from file name and convert into
2019-02-09-122929 & 2019-02-09-122955.
#!/bin/sh
path=$1
if [[ -z $1 ]];then
echo "USAGE:: Argument missing, supply full path to list all files"
exit 1
fi
if [ -f $path/all_files.txt ] ; then
rm -f $path/all_files.txt
fi
ls -l $path | grep -v "^d" | awk '{print $9}' > $path/all_files.txt
while read -r line
do
line=${line##*/}
# echo "${line%"/}"
ex1=`awk -F'|' '{print substr($1,length($1)-22, 19)}'`
# ex2=`awk -F'|' '{print substr($1,length($1)-19, 10)}'`
echo $ex1
ex2=$(echo $ex1 | cut -c 1-10)
echo $ex2
ex3=$(echo $ex1 | cut -c 12-20)
echo $ex3
done <$path/all_files.txt
But this code is not giving me desired output.
Can anyone help?
shell-script
New contributor
I am newbie to shell scripting and learning.
I have files in folder.
which look like
1232_2019_02_09_12_29_29.txt
1232_2019_02_09_12_29_55.txt
I want to extract 2019_02_09_12_29_29 & 2019_02_09_12_29_55 from file name and convert into
2019-02-09-122929 & 2019-02-09-122955.
#!/bin/sh
path=$1
if [[ -z $1 ]];then
echo "USAGE:: Argument missing, supply full path to list all files"
exit 1
fi
if [ -f $path/all_files.txt ] ; then
rm -f $path/all_files.txt
fi
ls -l $path | grep -v "^d" | awk '{print $9}' > $path/all_files.txt
while read -r line
do
line=${line##*/}
# echo "${line%"/}"
ex1=`awk -F'|' '{print substr($1,length($1)-22, 19)}'`
# ex2=`awk -F'|' '{print substr($1,length($1)-19, 10)}'`
echo $ex1
ex2=$(echo $ex1 | cut -c 1-10)
echo $ex2
ex3=$(echo $ex1 | cut -c 12-20)
echo $ex3
done <$path/all_files.txt
But this code is not giving me desired output.
Can anyone help?
shell-script
shell-script
New contributor
New contributor
New contributor
asked 2 mins ago
GeemeGeeme
1
1
New contributor
New contributor
add a comment |
add a comment |
0
active
oldest
votes
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
});
}
});
Geeme is a new contributor. Be nice, and check out our Code of Conduct.
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%2f499607%2fsubstract-and-replace-values-in-string-using-shell%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Geeme is a new contributor. Be nice, and check out our Code of Conduct.
Geeme is a new contributor. Be nice, and check out our Code of Conduct.
Geeme is a new contributor. Be nice, and check out our Code of Conduct.
Geeme is a new contributor. Be nice, and check out our Code of Conduct.
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%2f499607%2fsubstract-and-replace-values-in-string-using-shell%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