Escape a mm/dd/YY backup date in a file namethe slash (/) after a directory name on shell commandsDate time in Linux bashCreate sub-directories and organize files by date from file nameWhat is the difference between a directory name that ends with a slash and one that does not?How do you put date and time in a file name?adding date to beginning of file name using scripttcsh - echo escape code for escapeConvert date in bash shellHow to adjust the Exif timestamp of a photo using the date in its nameshell script to walk folders and sub-folders, convert timestamp to UTC format and export .csv file

How to make payment on the internet without leaving a money trail?

How can bays and straits be determined in a procedurally generated map?

A newer friend of my brother's gave him a load of baseball cards that are supposedly extremely valuable. Is this a scam?

Why don't electron-positron collisions release infinite energy?

Download, install and reboot computer at night if needed

Is there a minimum number of transactions in a block?

Copenhagen passport control - US citizen

How do I create uniquely male characters?

Can an x86 CPU running in real mode be considered to be basically an 8086 CPU?

Pronouncing Dictionary.com's W.O.D "vade mecum" in English

A function which translates a sentence to title-case

How can I fix this gap between bookcases I made?

How does one intimidate enemies without having the capacity for violence?

I’m planning on buying a laser printer but concerned about the life cycle of toner in the machine

Why are 150k or 200k jobs considered good when there are 300k+ births a month?

Why was the small council so happy for Tyrion to become the Master of Coin?

Infinite past with a beginning?

Shell script can be run only with sh command

What are these boxed doors outside store fronts in New York?

Validation accuracy vs Testing accuracy

Why doesn't Newton's third law mean a person bounces back to where they started when they hit the ground?

Is it tax fraud for an individual to declare non-taxable revenue as taxable income? (US tax laws)

New order #4: World

What typically incentivizes a professor to change jobs to a lower ranking university?



Escape a mm/dd/YY backup date in a file name


the slash (/) after a directory name on shell commandsDate time in Linux bashCreate sub-directories and organize files by date from file nameWhat is the difference between a directory name that ends with a slash and one that does not?How do you put date and time in a file name?adding date to beginning of file name using scripttcsh - echo escape code for escapeConvert date in bash shellHow to adjust the Exif timestamp of a photo using the date in its nameshell script to walk folders and sub-folders, convert timestamp to UTC format and export .csv file






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








6















I have been trying to:



cp file.csv file.$(date +%D).csv


But it fails because the filenames is: file.03/27/19.csv with the slash of separate directories.



And I have been trying again to:



cp file.csv file.$(printf "%q" $(date +%D)).csv


But it still fails.










share|improve this question
























  • You can not set a filename with slash characters: stackoverflow.com/questions/9847288/…

    – tres.14159
    Mar 27 at 17:31











  • the problem is your use of the date format using the / character. You said it yourself, the shell is seeing them as directory markers. Try one of the many other options available from date. You might be able to get the / escaped so the filename uses the character code (like putting a space in a filename), but that is often problematic.

    – 0xSheepdog
    Mar 27 at 17:32


















6















I have been trying to:



cp file.csv file.$(date +%D).csv


But it fails because the filenames is: file.03/27/19.csv with the slash of separate directories.



And I have been trying again to:



cp file.csv file.$(printf "%q" $(date +%D)).csv


But it still fails.










share|improve this question
























  • You can not set a filename with slash characters: stackoverflow.com/questions/9847288/…

    – tres.14159
    Mar 27 at 17:31











  • the problem is your use of the date format using the / character. You said it yourself, the shell is seeing them as directory markers. Try one of the many other options available from date. You might be able to get the / escaped so the filename uses the character code (like putting a space in a filename), but that is often problematic.

    – 0xSheepdog
    Mar 27 at 17:32














6












6








6








I have been trying to:



cp file.csv file.$(date +%D).csv


But it fails because the filenames is: file.03/27/19.csv with the slash of separate directories.



And I have been trying again to:



cp file.csv file.$(printf "%q" $(date +%D)).csv


But it still fails.










share|improve this question
















I have been trying to:



cp file.csv file.$(date +%D).csv


But it fails because the filenames is: file.03/27/19.csv with the slash of separate directories.



And I have been trying again to:



cp file.csv file.$(printf "%q" $(date +%D)).csv


But it still fails.







shell filenames date escape-characters slash






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Mar 28 at 9:27









Stéphane Chazelas

313k57593949




313k57593949










asked Mar 27 at 17:27









tres.14159tres.14159

4314




4314












  • You can not set a filename with slash characters: stackoverflow.com/questions/9847288/…

    – tres.14159
    Mar 27 at 17:31











  • the problem is your use of the date format using the / character. You said it yourself, the shell is seeing them as directory markers. Try one of the many other options available from date. You might be able to get the / escaped so the filename uses the character code (like putting a space in a filename), but that is often problematic.

    – 0xSheepdog
    Mar 27 at 17:32


















  • You can not set a filename with slash characters: stackoverflow.com/questions/9847288/…

    – tres.14159
    Mar 27 at 17:31











  • the problem is your use of the date format using the / character. You said it yourself, the shell is seeing them as directory markers. Try one of the many other options available from date. You might be able to get the / escaped so the filename uses the character code (like putting a space in a filename), but that is often problematic.

    – 0xSheepdog
    Mar 27 at 17:32

















You can not set a filename with slash characters: stackoverflow.com/questions/9847288/…

– tres.14159
Mar 27 at 17:31





You can not set a filename with slash characters: stackoverflow.com/questions/9847288/…

– tres.14159
Mar 27 at 17:31













the problem is your use of the date format using the / character. You said it yourself, the shell is seeing them as directory markers. Try one of the many other options available from date. You might be able to get the / escaped so the filename uses the character code (like putting a space in a filename), but that is often problematic.

– 0xSheepdog
Mar 27 at 17:32






the problem is your use of the date format using the / character. You said it yourself, the shell is seeing them as directory markers. Try one of the many other options available from date. You might be able to get the / escaped so the filename uses the character code (like putting a space in a filename), but that is often problematic.

– 0xSheepdog
Mar 27 at 17:32











1 Answer
1






active

oldest

votes


















20














You can't have / (byte 0x2F on ASCII-based systems) in a file name, period.



You can use characters that look like / like (U+2215 division slash) or (U+2044 fraction slash though found in fewer of the charsets used in current locales), so you could do (provided that U+2215 character exists in the locale's charset, includes GBK, BIG5, UTF-8, GB18030):



cp file.csv "file.$(date +%D | sed 's|/|∕|g').csv"


Or with some shells (zsh, bash at least):



cp file.csv "file.$(date +%D | sed $'s|/|u2215|g').csv"


(here using sed instead of tr as some tr implementations including GNU tr still don't support multi-byte characters).



But you may run into problems like the file name being rendered differently in locales using a different charset from the one that was in use at the time you created the file (and of course the confusion of users when they see what looks like a slash in a file name).



My advice would be to use the standard non-ambiguous (for most people outside the US, 03/12/18 would be interpreted as the 3rd of December 2018 for instance) YYYY-mm-dd format instead (which also helps wrt sorting):



cp file.csv "file.$(date +%Y-%m-%d).csv"


Which with many date implementations you can shorten to:



cp file.csv "file.$(date +%F).csv"





share|improve this answer




















  • 2





    Other characters similar to slash can also be cumbersome to type in terminal.

    – gronostaj
    Mar 28 at 8:49











  • @gronostaj, I've added a method to specify the character based on its Unicode codepoint.

    – Stéphane Chazelas
    Mar 28 at 16:37











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
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f509043%2fescape-a-mm-dd-yy-backup-date-in-a-file-name%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









20














You can't have / (byte 0x2F on ASCII-based systems) in a file name, period.



You can use characters that look like / like (U+2215 division slash) or (U+2044 fraction slash though found in fewer of the charsets used in current locales), so you could do (provided that U+2215 character exists in the locale's charset, includes GBK, BIG5, UTF-8, GB18030):



cp file.csv "file.$(date +%D | sed 's|/|∕|g').csv"


Or with some shells (zsh, bash at least):



cp file.csv "file.$(date +%D | sed $'s|/|u2215|g').csv"


(here using sed instead of tr as some tr implementations including GNU tr still don't support multi-byte characters).



But you may run into problems like the file name being rendered differently in locales using a different charset from the one that was in use at the time you created the file (and of course the confusion of users when they see what looks like a slash in a file name).



My advice would be to use the standard non-ambiguous (for most people outside the US, 03/12/18 would be interpreted as the 3rd of December 2018 for instance) YYYY-mm-dd format instead (which also helps wrt sorting):



cp file.csv "file.$(date +%Y-%m-%d).csv"


Which with many date implementations you can shorten to:



cp file.csv "file.$(date +%F).csv"





share|improve this answer




















  • 2





    Other characters similar to slash can also be cumbersome to type in terminal.

    – gronostaj
    Mar 28 at 8:49











  • @gronostaj, I've added a method to specify the character based on its Unicode codepoint.

    – Stéphane Chazelas
    Mar 28 at 16:37















20














You can't have / (byte 0x2F on ASCII-based systems) in a file name, period.



You can use characters that look like / like (U+2215 division slash) or (U+2044 fraction slash though found in fewer of the charsets used in current locales), so you could do (provided that U+2215 character exists in the locale's charset, includes GBK, BIG5, UTF-8, GB18030):



cp file.csv "file.$(date +%D | sed 's|/|∕|g').csv"


Or with some shells (zsh, bash at least):



cp file.csv "file.$(date +%D | sed $'s|/|u2215|g').csv"


(here using sed instead of tr as some tr implementations including GNU tr still don't support multi-byte characters).



But you may run into problems like the file name being rendered differently in locales using a different charset from the one that was in use at the time you created the file (and of course the confusion of users when they see what looks like a slash in a file name).



My advice would be to use the standard non-ambiguous (for most people outside the US, 03/12/18 would be interpreted as the 3rd of December 2018 for instance) YYYY-mm-dd format instead (which also helps wrt sorting):



cp file.csv "file.$(date +%Y-%m-%d).csv"


Which with many date implementations you can shorten to:



cp file.csv "file.$(date +%F).csv"





share|improve this answer




















  • 2





    Other characters similar to slash can also be cumbersome to type in terminal.

    – gronostaj
    Mar 28 at 8:49











  • @gronostaj, I've added a method to specify the character based on its Unicode codepoint.

    – Stéphane Chazelas
    Mar 28 at 16:37













20












20








20







You can't have / (byte 0x2F on ASCII-based systems) in a file name, period.



You can use characters that look like / like (U+2215 division slash) or (U+2044 fraction slash though found in fewer of the charsets used in current locales), so you could do (provided that U+2215 character exists in the locale's charset, includes GBK, BIG5, UTF-8, GB18030):



cp file.csv "file.$(date +%D | sed 's|/|∕|g').csv"


Or with some shells (zsh, bash at least):



cp file.csv "file.$(date +%D | sed $'s|/|u2215|g').csv"


(here using sed instead of tr as some tr implementations including GNU tr still don't support multi-byte characters).



But you may run into problems like the file name being rendered differently in locales using a different charset from the one that was in use at the time you created the file (and of course the confusion of users when they see what looks like a slash in a file name).



My advice would be to use the standard non-ambiguous (for most people outside the US, 03/12/18 would be interpreted as the 3rd of December 2018 for instance) YYYY-mm-dd format instead (which also helps wrt sorting):



cp file.csv "file.$(date +%Y-%m-%d).csv"


Which with many date implementations you can shorten to:



cp file.csv "file.$(date +%F).csv"





share|improve this answer















You can't have / (byte 0x2F on ASCII-based systems) in a file name, period.



You can use characters that look like / like (U+2215 division slash) or (U+2044 fraction slash though found in fewer of the charsets used in current locales), so you could do (provided that U+2215 character exists in the locale's charset, includes GBK, BIG5, UTF-8, GB18030):



cp file.csv "file.$(date +%D | sed 's|/|∕|g').csv"


Or with some shells (zsh, bash at least):



cp file.csv "file.$(date +%D | sed $'s|/|u2215|g').csv"


(here using sed instead of tr as some tr implementations including GNU tr still don't support multi-byte characters).



But you may run into problems like the file name being rendered differently in locales using a different charset from the one that was in use at the time you created the file (and of course the confusion of users when they see what looks like a slash in a file name).



My advice would be to use the standard non-ambiguous (for most people outside the US, 03/12/18 would be interpreted as the 3rd of December 2018 for instance) YYYY-mm-dd format instead (which also helps wrt sorting):



cp file.csv "file.$(date +%Y-%m-%d).csv"


Which with many date implementations you can shorten to:



cp file.csv "file.$(date +%F).csv"






share|improve this answer














share|improve this answer



share|improve this answer








edited Mar 28 at 16:52

























answered Mar 27 at 17:33









Stéphane ChazelasStéphane Chazelas

313k57593949




313k57593949







  • 2





    Other characters similar to slash can also be cumbersome to type in terminal.

    – gronostaj
    Mar 28 at 8:49











  • @gronostaj, I've added a method to specify the character based on its Unicode codepoint.

    – Stéphane Chazelas
    Mar 28 at 16:37












  • 2





    Other characters similar to slash can also be cumbersome to type in terminal.

    – gronostaj
    Mar 28 at 8:49











  • @gronostaj, I've added a method to specify the character based on its Unicode codepoint.

    – Stéphane Chazelas
    Mar 28 at 16:37







2




2





Other characters similar to slash can also be cumbersome to type in terminal.

– gronostaj
Mar 28 at 8:49





Other characters similar to slash can also be cumbersome to type in terminal.

– gronostaj
Mar 28 at 8:49













@gronostaj, I've added a method to specify the character based on its Unicode codepoint.

– Stéphane Chazelas
Mar 28 at 16:37





@gronostaj, I've added a method to specify the character based on its Unicode codepoint.

– Stéphane Chazelas
Mar 28 at 16:37

















draft saved

draft discarded
















































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.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f509043%2fescape-a-mm-dd-yy-backup-date-in-a-file-name%23new-answer', 'question_page');

);

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







Popular posts from this blog

Adding axes to figuresAdding axes labels to LaTeX figuresLaTeX equivalent of ConTeXt buffersRotate a node but not its content: the case of the ellipse decorationHow to define the default vertical distance between nodes?TikZ scaling graphic and adjust node position and keep font sizeNumerical conditional within tikz keys?adding axes to shapesAlign axes across subfiguresAdding figures with a certain orderLine up nested tikz enviroments or how to get rid of themAdding axes labels to LaTeX figures

Luettelo Yhdysvaltain laivaston lentotukialuksista Lähteet | Navigointivalikko

Gary (muusikko) Sisällysluettelo Historia | Rockin' High | Lähteet | Aiheesta muualla | NavigointivalikkoInfobox OKTuomas "Gary" Keskinen Ancaran kitaristiksiProjekti Rockin' High