Escape a mm/dd/YY backup date in a file name Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 00:00UTC (8:00pm US/Eastern) 2019 Community Moderator Election Results Why I closed the “Why is Kali so hard” questionthe 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

What is the difference between globalisation and imperialism?

Is this another way of expressing the side limit?

Is there hard evidence that the grant peer review system performs significantly better than random?

Time to Settle Down!

Triggering an ultrasonic sensor

Did Deadpool rescue all of the X-Force?

How to get all distinct words within a set of lines?

How to run automated tests after each commit?

How does the secondary effect of the Heat Metal spell interact with a creature resistant/immune to fire damage?

"Lost his faith in humanity in the trenches of Verdun" — last line of an SF story

Project Euler #1 in C++

How fail-safe is nr as stop bytes?

QGIS virtual layer functionality does not seem to support memory layers

Is it fair for a professor to grade us on the possession of past papers?

What was the first language to use conditional keywords?

How could we fake a moon landing now?

Why are vacuum tubes still used in amateur radios?

Subalgebra of a group algebra

How do I find out the mythology and history of my Fortress?

Monolithic + MicroServices

What is "gratricide"?

How to play a character with a disability or mental disorder without being offensive?

Belief In God or Knowledge Of God. Which is better?

Is there any word for a place full of confusion?



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



Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 23, 2019 at 00:00UTC (8:00pm US/Eastern)
2019 Community Moderator Election Results
Why I closed the “Why is Kali so hard” questionthe 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

315k57597955




315k57597955










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


















19














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









19














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















19














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













19












19








19







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

315k57597955




315k57597955







  • 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

Solar Wings Breeze Design and development Specifications (Breeze) References Navigation menu1368-485X"Hang glider: Breeze (Solar Wings)"e

Kathakali Contents Etymology and nomenclature History Repertoire Songs and musical instruments Traditional plays Styles: Sampradayam Training centers and awards Relationship to other dance forms See also Notes References External links Navigation menueThe Illustrated Encyclopedia of Hinduism: A-MSouth Asian Folklore: An EncyclopediaRoutledge International Encyclopedia of Women: Global Women's Issues and KnowledgeKathakali Dance-drama: Where Gods and Demons Come to PlayKathakali Dance-drama: Where Gods and Demons Come to PlayKathakali Dance-drama: Where Gods and Demons Come to Play10.1353/atj.2005.0004The Illustrated Encyclopedia of Hinduism: A-MEncyclopedia of HinduismKathakali Dance-drama: Where Gods and Demons Come to PlaySonic Liturgy: Ritual and Music in Hindu Tradition"The Mirror of Gesture"Kathakali Dance-drama: Where Gods and Demons Come to Play"Kathakali"Indian Theatre: Traditions of PerformanceIndian Theatre: Traditions of PerformanceIndian Theatre: Traditions of PerformanceIndian Theatre: Traditions of PerformanceMedieval Indian Literature: An AnthologyThe Oxford Companion to Indian TheatreSouth Asian Folklore: An Encyclopedia : Afghanistan, Bangladesh, India, Nepal, Pakistan, Sri LankaThe Rise of Performance Studies: Rethinking Richard Schechner's Broad SpectrumIndian Theatre: Traditions of PerformanceModern Asian Theatre and Performance 1900-2000Critical Theory and PerformanceBetween Theater and AnthropologyKathakali603847011Indian Theatre: Traditions of PerformanceIndian Theatre: Traditions of PerformanceIndian Theatre: Traditions of PerformanceBetween Theater and AnthropologyBetween Theater and AnthropologyNambeesan Smaraka AwardsArchivedThe Cambridge Guide to TheatreRoutledge International Encyclopedia of Women: Global Women's Issues and KnowledgeThe Garland Encyclopedia of World Music: South Asia : the Indian subcontinentThe Ethos of Noh: Actors and Their Art10.2307/1145740By Means of Performance: Intercultural Studies of Theatre and Ritual10.1017/s204912550000100xReconceiving the Renaissance: A Critical ReaderPerformance TheoryListening to Theatre: The Aural Dimension of Beijing Opera10.2307/1146013Kathakali: The Art of the Non-WorldlyOn KathakaliKathakali, the dance theatreThe Kathakali Complex: Performance & StructureKathakali Dance-Drama: Where Gods and Demons Come to Play10.1093/obo/9780195399318-0071Drama and Ritual of Early Hinduism"In the Shadow of Hollywood Orientalism: Authentic East Indian Dancing"10.1080/08949460490274013Sanskrit Play Production in Ancient IndiaIndian Music: History and StructureBharata, the Nāṭyaśāstra233639306Table of Contents2238067286469807Dance In Indian Painting10.2307/32047833204783Kathakali Dance-Theatre: A Visual Narrative of Sacred Indian MimeIndian Classical Dance: The Renaissance and BeyondKathakali: an indigenous art-form of Keralaeee

Method to test if a number is a perfect power? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 00:00UTC (8:00pm US/Eastern)Detecting perfect squares faster than by extracting square rooteffective way to get the integer sequence A181392 from oeisA rarely mentioned fact about perfect powersHow many numbers such $n$ are there that $n<100,lfloorsqrtn rfloor mid n$Check perfect squareness by modulo division against multiple basesFor what pair of integers $(a,b)$ is $3^a + 7^b$ a perfect square.Do there exist any positive integers $n$ such that $lfloore^nrfloor$ is a perfect power? What is the probability that one exists?finding perfect power factors of an integerProve that the sequence contains a perfect square for any natural number $m $ in the domain of $f$ .Counting Perfect Powers