From 0380db69baa87195c823ead4efbdde82320d16eb Mon Sep 17 00:00:00 2001 From: TomKellyGenetics Date: Mon, 23 Nov 2020 11:45:31 +0900 Subject: [PATCH] merge changes to CODE OF CONDUCT in Shell source lesson https://github.com/swcarpentry-ja/i18n/pull/133 --- po/shell-novice.ja.po | 5208 ++++++++++++++++++++++++++--------------- 1 file changed, 3278 insertions(+), 1930 deletions(-) diff --git a/po/shell-novice.ja.po b/po/shell-novice.ja.po index 89da0617..60b3a0cc 100644 --- a/po/shell-novice.ja.po +++ b/po/shell-novice.ja.po @@ -7,19 +7,19 @@ msgid "" msgstr "" "Project-Id-Version: i18n\n" "Report-Msgid-Bugs-To: https://github.com/haiwen/seafile-docs/issues\n" -"POT-Creation-Date: 2018-09-15 22:59:57+0900\n" +"POT-Creation-Date: 2020-11-23 11:42:46+0900\n" "PO-Revision-Date: 2020-05-13 09:57+0900\n" +"Last-Translator: \n" +"Language-Team: Japanese \n" +"Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"Last-Translator: \n" -"Language-Team: Japanese \n" -"Language: ja\n" "X-Generator: Poedit 2.3\n" # Front Matter -#: shell-novice/CONDUCT.md:1 +#: shell-novice/CODE_OF_CONDUCT.md:1 msgid "" "---\n" "layout: page\n" @@ -33,79 +33,13 @@ msgstr "" "permalink: /conduct/\n" "---" -#: shell-novice/CONDUCT.md:6 +#: shell-novice/CODE_OF_CONDUCT.md:6 msgid "" "As contributors and maintainers of this project,\n" -"we pledge to respect all people who contribute through reporting issues,\n" -"posting feature requests,\n" -"updating documentation,\n" -"submitting pull requests or patches,\n" -"and other activities." +"we pledge to follow the [Carpentry Code of Conduct][coc]." msgstr "" -"As contributors and maintainers of this project,\n" -"we pledge to respect all people who contribute through reporting issues,\n" -"posting feature requests,\n" -"updating documentation,\n" -"submitting pull requests or patches,\n" -"and other activities." - -#: shell-novice/CONDUCT.md:13 -msgid "" -"We are committed to making participation in this project a harassment-free experience for everyone,\n" -"regardless of level of experience,\n" -"gender,\n" -"gender identity and expression,\n" -"sexual orientation,\n" -"disability,\n" -"personal appearance,\n" -"body size,\n" -"race,\n" -"ethnicity,\n" -"age,\n" -"or religion." -msgstr "" -"We are committed to making participation in this project a harassment-free experience for everyone,\n" -"regardless of level of experience,\n" -"gender,\n" -"gender identity and expression,\n" -"sexual orientation,\n" -"disability,\n" -"personal appearance,\n" -"body size,\n" -"race,\n" -"ethnicity,\n" -"age,\n" -"or religion." - -#: shell-novice/CONDUCT.md:26 -msgid "" -"Examples of unacceptable behavior by participants include the use of sexual language or imagery,\n" -"derogatory comments or personal attacks,\n" -"trolling,\n" -"public or private harassment,\n" -"insults,\n" -"or other unprofessional conduct." -msgstr "" -"Examples of unacceptable behavior by participants include the use of sexual language or imagery,\n" -"derogatory comments or personal attacks,\n" -"trolling,\n" -"public or private harassment,\n" -"insults,\n" -"or other unprofessional conduct." - -#: shell-novice/CONDUCT.md:33 -msgid "" -"Project maintainers have the right and responsibility to remove, edit, or reject\n" -"comments, commits, code, wiki edits, issues, and other contributions\n" -"that are not aligned to our [Code of Conduct][coc].\n" -"Project maintainers who do not follow the Code of Conduct may be removed from the project team." -msgstr "" -"Project maintainers have the right and responsibility to remove, edit, or reject\n" -"comments, commits, code, wiki edits, issues, and other contributions\n" -"that are not aligned to our [Code of Conduct][coc].\n" -"Project maintainers who do not follow the Code of Conduct may be removed from the project team." - -#: shell-novice/CONDUCT.md:38 + +#: shell-novice/CODE_OF_CONDUCT.md:9 msgid "" "Instances of abusive, harassing, or otherwise unacceptable behavior\n" "may be reported by following our [reporting guidelines][coc-reporting]." @@ -113,17 +47,7 @@ msgstr "" "Instances of abusive, harassing, or otherwise unacceptable behavior\n" "may be reported by following our [reporting guidelines][coc-reporting]." -# unordered list -#: shell-novice/CONDUCT.md:42 -msgid "- [Software and Data Carpentry Code of Conduct][coc]" -msgstr "- [Software and Data Carpentry Code of Conduct][coc]" - -# unordered list -#: shell-novice/CONDUCT.md:43 -msgid "- [Code of Conduct Reporting Guide][coc-reporting]" -msgstr "- [Code of Conduct Reporting Guide][coc-reporting]" - -#: shell-novice/CONDUCT.md:45 +#: shell-novice/CODE_OF_CONDUCT.md:12 msgid "{% include links.md %}" msgstr "{% include links.md %}" @@ -134,14 +58,16 @@ msgstr "# Contributing" #: shell-novice/CONTRIBUTING.md:3 msgid "" -"[Software Carpentry][swc-site] and [Data Carpentry][dc-site] are open source projects,\n" +"[Software Carpentry][swc-site] and [Data Carpentry][dc-site] are open source " +"projects,\n" "and we welcome contributions of all kinds:\n" "new lessons,\n" "fixes to existing material,\n" "bug reports,\n" "and reviews of proposed changes are all welcome." msgstr "" -"[Software Carpentry][swc-site] and [Data Carpentry][dc-site] are open source projects,\n" +"[Software Carpentry][swc-site] and [Data Carpentry][dc-site] are open source " +"projects,\n" "and we welcome contributions of all kinds:\n" "new lessons,\n" "fixes to existing material,\n" @@ -156,19 +82,25 @@ msgstr "## Contributor Agreement" #: shell-novice/CONTRIBUTING.md:12 msgid "" "By contributing,\n" -"you agree that we may redistribute your work under [our license](LICENSE.md).\n" +"you agree that we may redistribute your work under [our license](LICENSE." +"md).\n" "In exchange,\n" -"we will address your issues and/or assess your change proposal as promptly as we can,\n" +"we will address your issues and/or assess your change proposal as promptly " +"as we can,\n" "and help you become a member of our community.\n" -"Everyone involved in [Software Carpentry][swc-site] and [Data Carpentry][dc-site]\n" +"Everyone involved in [Software Carpentry][swc-site] and [Data Carpentry][dc-" +"site]\n" "agrees to abide by our [code of conduct](CONDUCT.md)." msgstr "" "By contributing,\n" -"you agree that we may redistribute your work under [our license](LICENSE.md).\n" +"you agree that we may redistribute your work under [our license](LICENSE." +"md).\n" "In exchange,\n" -"we will address your issues and/or assess your change proposal as promptly as we can,\n" +"we will address your issues and/or assess your change proposal as promptly " +"as we can,\n" "and help you become a member of our community.\n" -"Everyone involved in [Software Carpentry][swc-site] and [Data Carpentry][dc-site]\n" +"Everyone involved in [Software Carpentry][swc-site] and [Data Carpentry][dc-" +"site]\n" "agrees to abide by our [code of conduct](CONDUCT.md)." # header @@ -201,11 +133,13 @@ msgstr "1. If you do not have a [GitHub][github] account," msgid "" " you can [send us comments by email][contact].\n" " However,\n" -" we will be able to respond more quickly if you use one of the other methods described below." +" we will be able to respond more quickly if you use one of the other " +"methods described below." msgstr "" " you can [send us comments by email][contact].\n" " However,\n" -" we will be able to respond more quickly if you use one of the other methods described below." +" we will be able to respond more quickly if you use one of the other " +"methods described below." # ordered list #: shell-novice/CONTRIBUTING.md:34 @@ -216,13 +150,15 @@ msgstr "2. If you have a [GitHub][github] account," msgid "" " or are willing to [create one][github-join],\n" " but do not know how to use Git,\n" -" you can report problems or suggest improvements by [creating an issue][issues].\n" +" you can report problems or suggest improvements by [creating an issue]" +"[issues].\n" " This allows us to assign the item to someone\n" " and to respond to it in a threaded discussion." msgstr "" " or are willing to [create one][github-join],\n" " but do not know how to use Git,\n" -" you can report problems or suggest improvements by [creating an issue][issues].\n" +" you can report problems or suggest improvements by [creating an issue]" +"[issues].\n" " This allows us to assign the item to someone\n" " and to respond to it in a threaded discussion." @@ -282,13 +218,17 @@ msgstr "3. If you wish to change the template used for workshop websites," #: shell-novice/CONTRIBUTING.md:58 msgid "" " please work in .\n" -" The home page of that repository explains how to set up workshop websites,\n" -" while the extra pages in \n" +" The home page of that repository explains how to set up workshop " +"websites,\n" +" while the extra pages in \n" " provide more background on our design choices." msgstr "" " please work in .\n" -" The home page of that repository explains how to set up workshop websites,\n" -" while the extra pages in \n" +" The home page of that repository explains how to set up workshop " +"websites,\n" +" while the extra pages in \n" " provide more background on our design choices." # ordered list @@ -298,10 +238,12 @@ msgstr "4. If you wish to change CSS style files, tools," #: shell-novice/CONTRIBUTING.md:64 msgid "" -" or HTML boilerplate for lessons or workshops stored in `_includes` or `_layouts`,\n" +" or HTML boilerplate for lessons or workshops stored in `_includes` or " +"`_layouts`,\n" " please work in ." msgstr "" -" or HTML boilerplate for lessons or workshops stored in `_includes` or `_layouts`,\n" +" or HTML boilerplate for lessons or workshops stored in `_includes` or " +"`_layouts`,\n" " please work in ." # header @@ -354,7 +296,8 @@ msgstr "## What *Not* to Contribute" #: shell-novice/CONTRIBUTING.md:88 msgid "" -"Our lessons already contain more material than we can cover in a typical workshop,\n" +"Our lessons already contain more material than we can cover in a typical " +"workshop,\n" "so we are usually *not* looking for more concepts or tools to add to them.\n" "As a rule,\n" "if you want to introduce a new idea,\n" @@ -363,7 +306,8 @@ msgid "" "The first encourages contributors to be honest about requirements;\n" "the second, to think hard about priorities." msgstr "" -"Our lessons already contain more material than we can cover in a typical workshop,\n" +"Our lessons already contain more material than we can cover in a typical " +"workshop,\n" "so we are usually *not* looking for more concepts or tools to add to them.\n" "As a rule,\n" "if you want to introduce a new idea,\n" @@ -374,13 +318,17 @@ msgstr "" #: shell-novice/CONTRIBUTING.md:97 msgid "" -"We are also not looking for exercises or other material that only run on one platform.\n" -"Our workshops typically contain a mixture of Windows, Mac OS X, and Linux users;\n" +"We are also not looking for exercises or other material that only run on one " +"platform.\n" +"Our workshops typically contain a mixture of Windows, Mac OS X, and Linux " +"users;\n" "in order to be usable,\n" "our lessons must run equally well on all three." msgstr "" -"We are also not looking for exercises or other material that only run on one platform.\n" -"Our workshops typically contain a mixture of Windows, Mac OS X, and Linux users;\n" +"We are also not looking for exercises or other material that only run on one " +"platform.\n" +"Our workshops typically contain a mixture of Windows, Mac OS X, and Linux " +"users;\n" "in order to be usable,\n" "our lessons must run equally well on all three." @@ -403,21 +351,27 @@ msgstr "" # ordered list #: shell-novice/CONTRIBUTING.md:109 -msgid "1. The published copy of the lesson is in the `gh-pages` branch of the repository" -msgstr "1. The published copy of the lesson is in the `gh-pages` branch of the repository" +msgid "" +"1. The published copy of the lesson is in the `gh-pages` branch of the " +"repository" +msgstr "" +"1. The published copy of the lesson is in the `gh-pages` branch of the " +"repository" #: shell-novice/CONTRIBUTING.md:110 msgid "" " (so that GitHub will regenerate it automatically).\n" " Please create all branches from that,\n" -" and merge the [master repository][repo]'s `gh-pages` branch into your `gh-pages` branch\n" +" and merge the [master repository][repo]'s `gh-pages` branch into your " +"`gh-pages` branch\n" " before starting work.\n" " Please do *not* work directly in your `gh-pages` branch,\n" " since that will make it difficult for you to work on other contributions." msgstr "" " (so that GitHub will regenerate it automatically).\n" " Please create all branches from that,\n" -" and merge the [master repository][repo]'s `gh-pages` branch into your `gh-pages` branch\n" +" and merge the [master repository][repo]'s `gh-pages` branch into your " +"`gh-pages` branch\n" " before starting work.\n" " Please do *not* work directly in your `gh-pages` branch,\n" " since that will make it difficult for you to work on other contributions." @@ -429,18 +383,22 @@ msgstr "2. We use [GitHub flow][github-flow] to manage changes:" #: shell-novice/CONTRIBUTING.md:118 msgid "" -" 1. Create a new branch in your desktop copy of this repository for each significant change.\n" +" 1. Create a new branch in your desktop copy of this repository for each " +"significant change.\n" " 2. Commit the change in that branch.\n" " 3. Push that branch to your fork of this repository on GitHub.\n" -" 4. Submit a pull request from that branch to the [master repository][repo].\n" +" 4. Submit a pull request from that branch to the [master repository]" +"[repo].\n" " 5. If you receive feedback,\n" " make changes on your desktop and push to your branch on GitHub:\n" " the pull request will update automatically." msgstr "" -" 1. Create a new branch in your desktop copy of this repository for each significant change.\n" +" 1. Create a new branch in your desktop copy of this repository for each " +"significant change.\n" " 2. Commit the change in that branch.\n" " 3. Push that branch to your fork of this repository on GitHub.\n" -" 4. Submit a pull request from that branch to the [master repository][repo].\n" +" 4. Submit a pull request from that branch to the [master repository]" +"[repo].\n" " 5. If you receive feedback,\n" " make changes on your desktop and push to your branch on GitHub:\n" " the pull request will update automatically." @@ -464,12 +422,14 @@ msgstr "## Other Resources" #: shell-novice/CONTRIBUTING.md:133 msgid "" -"General discussion of [Software Carpentry][swc-site] and [Data Carpentry][dc-site]\n" +"General discussion of [Software Carpentry][swc-site] and [Data Carpentry][dc-" +"site]\n" "happens on the [discussion mailing list][discuss-list],\n" "which everyone is welcome to join.\n" "You can also [reach us by email][contact]." msgstr "" -"General discussion of [Software Carpentry][swc-site] and [Data Carpentry][dc-site]\n" +"General discussion of [Software Carpentry][swc-site] and [Data Carpentry][dc-" +"site]\n" "happens on the [discussion mailing list][discuss-list],\n" "which everyone is welcome to join.\n" "You can also [reach us by email][contact]." @@ -484,7 +444,8 @@ msgid "" "[github]: http://github.com\n" "[github-flow]: https://guides.github.com/introduction/flow/\n" "[github-join]: https://github.com/join\n" -"[how-contribute]: https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github\n" +"[how-contribute]: https://egghead.io/series/how-to-contribute-to-an-open-" +"source-project-on-github\n" "[issues]: https://github.com/swcarpentry/shell-novice/issues/\n" "[repo]: https://github.com/swcarpentry/shell-novice/\n" "[swc-issues]: https://github.com/issues?q=user%3Aswcarpentry\n" @@ -499,7 +460,8 @@ msgstr "" "[github]: http://github.com\n" "[github-flow]: https://guides.github.com/introduction/flow/\n" "[github-join]: https://github.com/join\n" -"[how-contribute]: https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github\n" +"[how-contribute]: https://egghead.io/series/how-to-contribute-to-an-open-" +"source-project-on-github\n" "[issues]: https://github.com/swcarpentry/shell-novice/issues/\n" "[repo]: https://github.com/swcarpentry/shell-novice/\n" "[swc-issues]: https://github.com/issues?q=user%3Aswcarpentry\n" @@ -535,10 +497,13 @@ msgid "" "license][cc-by-legal]." msgstr "" "ソフトウェアカーペントリーとData Carpentryに関する全ての教材は\n" -"[クリエイティブ・コモンズ 表示ライセンス](https://creativecommons.org/licenses/by/4.0/deed.ja)\n" +"[クリエイティブ・コモンズ 表示ライセンス](https://creativecommons.org/" +"licenses/by/4.0/deed.ja)\n" "の下で利用可能です。以下は、\n" -"[表示4.0 国際(CC BY 4.0)ライセンスの完全な法的テキスト](https://creativecommons.org/licenses/by/4.0/legalcode.ja)の\n" -"人が読んでわかりやすいようにした要約です。(ライセンスの代わりになるものではありません。)" +"[表示4.0 国際(CC BY 4.0)ライセンスの完全な法的テキスト](https://" +"creativecommons.org/licenses/by/4.0/legalcode.ja)の\n" +"人が読んでわかりやすいようにした要約です。(ライセンスの代わりになるものではあ" +"りません。)" #: shell-novice/LICENSE.md:14 msgid "You are free:" @@ -546,13 +511,18 @@ msgstr "あなたは以下の条件に従う限り、自由に:" # unordered list #: shell-novice/LICENSE.md:16 -msgid "* to **Share**---copy and redistribute the material in any medium or format" -msgstr "* **共有**---どのようなメディアやフォーマットでも資料を複製したり、再配布できます" +msgid "" +"* to **Share**---copy and redistribute the material in any medium or format" +msgstr "" +"* **共有**---どのようなメディアやフォーマットでも資料を複製したり、再配布でき" +"ます" # unordered list #: shell-novice/LICENSE.md:17 msgid "* to **Adapt**---remix, transform, and build upon the material" -msgstr "* **翻案**---マテリアルをリミックスしたり、改変したり、別の作品のベースにしたりできます\n" +msgstr "" +"* **翻案**---マテリアルをリミックスしたり、改変したり、別の作品のベースにした" +"りできます\n" #: shell-novice/LICENSE.md:19 msgid "for any purpose, even commercially." @@ -584,12 +554,16 @@ msgid "" " so in any reasonable manner, but not in any way that suggests the\n" " licensor endorses you or your use." msgstr "" -" ソフトウェアカーペントリーの著作物 (Software Carpentry©) から派生していることを記載して、\n" -" そして適切な場合は[http://software-carpentry.org](http://software-carpentry.org)へのリンクを表示), \n" -" [ライセンスへのリンク](https://creativecommons.org/licenses/by/4.0/deed.ja)を\n" +" ソフトウェアカーペントリーの著作物 (Software Carpentry©) から派生しているこ" +"とを記載して、\n" +" そして適切な場合は[http://software-carpentry.org](http://software-" +"carpentry.org)へのリンクを表示), \n" +" [ライセンスへのリンク](https://creativecommons.org/licenses/by/4.0/deed.ja)" +"を\n" " 提供し、変更があったらその旨を示さなければなりません。\n" " これらは合理的であればどのような方法で行っても構いませんが、\n" -" 許諾者があなたやあなたの利用行為を支持していると示唆するような方法は除きます。" +" 許諾者があなたやあなたの利用行為を支持していると示唆するような方法は除きま" +"す。" #: shell-novice/LICENSE.md:34 msgid "" @@ -634,14 +608,17 @@ msgstr "## ソフトウェア" #: shell-novice/LICENSE.md:50 msgid "" "Except where otherwise noted, the example programs and other software\n" -"provided by Software Carpentry and Data Carpentry are made available under the\n" +"provided by Software Carpentry and Data Carpentry are made available under " +"the\n" "[OSI][osi]-approved\n" "[MIT license][mit-license]." msgstr "" -"特に記載がある場合を除いて、ソフトウェアカーペントリーおよびデータカーペントリーが\n" +"特に記載がある場合を除いて、ソフトウェアカーペントリーおよびデータカーペント" +"リーが\n" "提供しているサンプルプログラムやソフトウェアは、\n" "[OSI][osi]が承認した\n" -"[MITライセンス](https://ja.osdn.net/projects/opensource/wiki/licenses%2FMIT_license)の下で利用可能です。" +"[MITライセンス](https://ja.osdn.net/projects/opensource/wiki/licenses" +"%2FMIT_license)の下で利用可能です。" #: shell-novice/LICENSE.md:55 msgid "" @@ -657,7 +634,8 @@ msgstr "" "(以下「ソフトウェア」)の複製を取得するすべての人に対し、ソフトウェアを\n" "無制限に扱うことを無償で許可します。これには、ソフトウェアの複製を使用、\n" "複写、変更、結合、掲載、頒布、サブライセンス、および/または販売する権利、\n" -"およびソフトウェアを提供する相手に同じことを許可する権利も無制限に含まれます。" +"およびソフトウェアを提供する相手に同じことを許可する権利も無制限に含まれま" +"す。" #: shell-novice/LICENSE.md:63 msgid "" @@ -699,12 +677,13 @@ msgstr "" "Initiatives][CI]における登録商標または商標です。" #: shell-novice/LICENSE.md:79 +#, fuzzy msgid "" "[cc-by-human]: https://creativecommons.org/licenses/by/4.0/\n" "[cc-by-legal]: https://creativecommons.org/licenses/by/4.0/legalcode\n" -"[mit-license]: https://opensource.org/licenses/mit-license.html\n" +"[mit-license]: http://opensource.org/licenses/mit-license.html\n" "[ci]: http://communityin.org/\n" -"[osi]: https://opensource.org" +"[osi]: http://opensource.org" msgstr "" "[cc-by-human]: https://creativecommons.org/licenses/by/4.0/\n" "[cc-by-legal]: https://creativecommons.org/licenses/by/4.0/legalcode\n" @@ -723,14 +702,18 @@ msgstr "" #: shell-novice/README.md:4 msgid "" -"An introduction to the Unix shell for people who have never used the command line before.\n" -"Please see for a rendered version of this material,\n" +"An introduction to the Unix shell for people who have never used the command " +"line before.\n" +"Please see for a rendered " +"version of this material,\n" "[the lesson template documentation][lesson-example]\n" "for instructions on formatting, building, and submitting material,\n" "or run `make` in this directory for a list of helpful commands." msgstr "" -"An introduction to the Unix shell for people who have never used the command line before.\n" -"Please see for a rendered version of this material,\n" +"An introduction to the Unix shell for people who have never used the command " +"line before.\n" +"Please see for a rendered " +"version of this material,\n" "[the lesson template documentation][lesson-example]\n" "for instructions on formatting, building, and submitting material,\n" "or run `make` in this directory for a list of helpful commands." @@ -783,18 +766,25 @@ msgid "" "questions:\n" "- \"What is a command shell and why would I use one?\"\n" "objectives:\n" -"- \"Explain how the shell relates to the keyboard, the screen, the operating system, and users' programs.\"\n" -"- \"Explain when and why command-line interfaces should be used instead of graphical interfaces.\"\n" +"- \"Explain how the shell relates to the keyboard, the screen, the operating " +"system, and users' programs.\"\n" +"- \"Explain when and why command-line interfaces should be used instead of " +"graphical interfaces.\"\n" "keypoints:\n" "- \"Explain the steps in the shell's read-run-print cycle.\"\n" "- \"Most commands take flags (options) which begin with a `-`.\"\n" -"- \"Identify the actual command, flags, and filenames in a command-line call.\"\n" +"- \"Identify the actual command, flags, and filenames in a command-line call." +"\"\n" "- \"Explain the steps in the shell's read-run-print cycle.\"\n" "- \"Demonstrate the use of tab completion and explain its advantages.\"\n" "keypoints:\n" -"- \"A shell is a program whose primary purpose is to read commands and run other programs.\"\n" -"- \"The shell's main advantages are its high action-to-keystroke ratio, its support for automating repetitive tasks, and its capacity to access networked machines.\"\n" -"- \"The shell's main disadvantages are its primarily textual nature and how cryptic its commands and operation can be.\"\n" +"- \"A shell is a program whose primary purpose is to read commands and run " +"other programs.\"\n" +"- \"The shell's main advantages are its high action-to-keystroke ratio, its " +"support for automating repetitive tasks, and its capacity to access " +"networked machines.\"\n" +"- \"The shell's main disadvantages are its primarily textual nature and how " +"cryptic its commands and operation can be.\"\n" "---" msgstr "" "---\n" @@ -804,18 +794,25 @@ msgstr "" "questions:\n" "- \"What is a command shell and why would I use one?\"\n" "objectives:\n" -"- \"Explain how the shell relates to the keyboard, the screen, the operating system, and users' programs.\"\n" -"- \"Explain when and why command-line interfaces should be used instead of graphical interfaces.\"\n" +"- \"Explain how the shell relates to the keyboard, the screen, the operating " +"system, and users' programs.\"\n" +"- \"Explain when and why command-line interfaces should be used instead of " +"graphical interfaces.\"\n" "keypoints:\n" "- \"Explain the steps in the shell's read-run-print cycle.\"\n" "- \"Most commands take flags (options) which begin with a `-`.\"\n" -"- \"Identify the actual command, flags, and filenames in a command-line call.\"\n" +"- \"Identify the actual command, flags, and filenames in a command-line call." +"\"\n" "- \"Explain the steps in the shell's read-run-print cycle.\"\n" "- \"Demonstrate the use of tab completion and explain its advantages.\"\n" "keypoints:\n" -"- \"A shell is a program whose primary purpose is to read commands and run other programs.\"\n" -"- \"The shell's main advantages are its high action-to-keystroke ratio, its support for automating repetitive tasks, and its capacity to access networked machines.\"\n" -"- \"The shell's main disadvantages are its primarily textual nature and how cryptic its commands and operation can be.\"\n" +"- \"A shell is a program whose primary purpose is to read commands and run " +"other programs.\"\n" +"- \"The shell's main advantages are its high action-to-keystroke ratio, its " +"support for automating repetitive tasks, and its capacity to access " +"networked machines.\"\n" +"- \"The shell's main disadvantages are its primarily textual nature and how " +"cryptic its commands and operation can be.\"\n" "---" # header @@ -850,62 +847,84 @@ msgstr "- 私たちとやりとりをする" #: shell-novice/_episodes/01-intro.md:29 msgid "" "They can do the last of these in many different ways,\n" -"including through a keyboard and mouse, or touch screen interfaces, or speech recognition using systems.\n" -"While such hardware interfaces are becoming more commonplace, most interaction is still\n" +"including through a keyboard and mouse, or touch screen interfaces, or " +"speech recognition using systems.\n" +"While such hardware interfaces are becoming more commonplace, most " +"interaction is still\n" "done using screens, mice, touchpads and keyboards." msgstr "" "私たちとのやりとりは様々な方法で行います。\n" -"例えば、キーボードやマウスを使ったり、タッチスクリーンを使ったり、音声認識を使ったりです。\n" -"このようなハードウェアインターフェイスは一般的になりつつありますが、ほとんどのやりとりはまだ\n" +"例えば、キーボードやマウスを使ったり、タッチスクリーンを使ったり、音声認識を" +"使ったりです。\n" +"このようなハードウェアインターフェイスは一般的になりつつありますが、ほとんど" +"のやりとりはまだ\n" "画面とマウスやタッチパッドとキーボードを用いて行われます。" #: shell-novice/_episodes/01-intro.md:34 msgid "" -"We are all familiar with **graphical user interfaces** (GUI - windows, icons and pointers). \n" -"They are easy to learn and fantastic for simple tasks where a vocabulary consisting of\n" -"\"click\" translates easily into \"do the thing I want\". But this magic relies on \n" -"wanting a simple set of things, and having programs that can do exactly those things." -msgstr "" -"私たちは皆「グラフィカルユーザーインテーフェイス (GUI)」とよばれる、ウインドウやアイコンやポインターで操作することに慣れています。\n" +"We are all familiar with **graphical user interfaces** (GUI - windows, icons " +"and pointers). \n" +"They are easy to learn and fantastic for simple tasks where a vocabulary " +"consisting of\n" +"\"click\" translates easily into \"do the thing I want\". But this magic " +"relies on \n" +"wanting a simple set of things, and having programs that can do exactly " +"those things." +msgstr "" +"私たちは皆「グラフィカルユーザーインテーフェイス (GUI)」とよばれる、ウインド" +"ウやアイコンやポインターで操作することに慣れています。\n" "それらは簡単になれることができ、単純なタスクをこなすのには適しています。\n" "「クリック」は「やりたいことをやってください」を意味します。 \n" -"しかし、この魔法のような単純さは、やりたいことが単純で、それを行うプログラムが存在していなければなりません。" +"しかし、この魔法のような単純さは、やりたいことが単純で、それを行うプログラム" +"が存在していなければなりません。" #: shell-novice/_episodes/01-intro.md:39 msgid "" -"If you wish to do complex, purpose-specific things it helps to have a richer means\n" -"of expressing your instructions to the computer. It doesn't need to be complicated or\n" +"If you wish to do complex, purpose-specific things it helps to have a richer " +"means\n" +"of expressing your instructions to the computer. It doesn't need to be " +"complicated or\n" "difficult, just a vocabulary of commands and a simple grammar for using them." msgstr "" -"If you wish to do complex, purpose-specific things it helps to have a richer means\n" -"of expressing your instructions to the computer. It doesn't need to be complicated or\n" +"If you wish to do complex, purpose-specific things it helps to have a richer " +"means\n" +"of expressing your instructions to the computer. It doesn't need to be " +"complicated or\n" "difficult, just a vocabulary of commands and a simple grammar for using them." #: shell-novice/_episodes/01-intro.md:43 msgid "" -"This is what the shell provides - a simple language and a **command-line interface** \n" +"This is what the shell provides - a simple language and a **command-line " +"interface** \n" "to use it through. " msgstr "" -"This is what the shell provides - a simple language and a **command-line interface** \n" +"This is what the shell provides - a simple language and a **command-line " +"interface** \n" "to use it through. " #: shell-novice/_episodes/01-intro.md:46 msgid "" -"The heart of a command-line interface is a **read-evaluate-print loop**, or REPL, called\n" -"so because when you type a command and press the Enter (or Return) key, the shell:\n" +"The heart of a command-line interface is a **read-evaluate-print loop**, or " +"REPL, called\n" +"so because when you type a command and press the Enter (or Return) key, the " +"shell:\n" "1. Reads it\n" "2. Executes (or \"evaluates\" it)\n" "3. Prints the output" msgstr "" -"コマンドラインインターフェースの核は、REPL (read-evaluate-print-loop)と呼ばれています。\n" -"これは、シェルにコマンドを入力し、Enter(または Return)キーを押した時に起こる動作:\n" +"コマンドラインインターフェースの核は、REPL (read-evaluate-print-loop)と呼ばれ" +"ています。\n" +"これは、シェルにコマンドを入力し、Enter(または Return)キーを押した時に起こる" +"動作:\n" "1. コマンドを読み込む(Read)\n" "2. コマンドを実行する (または \"評価する\" - Evaluate)\n" "3. 結果を出力する (Print)" #: shell-novice/_episodes/01-intro.md:52 msgid "and then prints the prompt and waits for you to enter another command." -msgstr "そして、プロンプトで次のコマンドの入力を待ち、1〜3の動作を繰り返す(Loop)ことから、頭文字を取ってREPLと呼ばれています。" +msgstr "" +"そして、プロンプトで次のコマンドの入力を待ち、1〜3の動作を繰り返す(Loop)こと" +"から、頭文字を取ってREPLと呼ばれています。" # header #: shell-novice/_episodes/01-intro.md:54 @@ -963,27 +982,27 @@ msgstr "" "~~~" #: shell-novice/_episodes/01-intro.md:77 -#: shell-novice/_episodes/02-filedir.md:50 -#: shell-novice/_episodes/02-filedir.md:129 -#: shell-novice/_episodes/02-filedir.md:152 -#: shell-novice/_episodes/02-filedir.md:201 -#: shell-novice/_episodes/02-filedir.md:409 -#: shell-novice/_episodes/02-filedir.md:437 -#: shell-novice/_episodes/02-filedir.md:464 -#: shell-novice/_episodes/02-filedir.md:477 -#: shell-novice/_episodes/02-filedir.md:487 -#: shell-novice/_episodes/02-filedir.md:501 -#: shell-novice/_episodes/02-filedir.md:521 -#: shell-novice/_episodes/02-filedir.md:533 -#: shell-novice/_episodes/02-filedir.md:546 -#: shell-novice/_episodes/02-filedir.md:599 -#: shell-novice/_episodes/02-filedir.md:606 -#: shell-novice/_episodes/02-filedir.md:623 -#: shell-novice/_episodes/02-filedir.md:650 -#: shell-novice/_episodes/02-filedir.md:660 -#: shell-novice/_episodes/02-filedir.md:799 -#: shell-novice/_episodes/02-filedir.md:808 -#: shell-novice/_episodes/02-filedir.md:816 +#: shell-novice/_episodes/02-filedir.md:51 +#: shell-novice/_episodes/02-filedir.md:130 +#: shell-novice/_episodes/02-filedir.md:153 +#: shell-novice/_episodes/02-filedir.md:202 +#: shell-novice/_episodes/02-filedir.md:410 +#: shell-novice/_episodes/02-filedir.md:438 +#: shell-novice/_episodes/02-filedir.md:465 +#: shell-novice/_episodes/02-filedir.md:478 +#: shell-novice/_episodes/02-filedir.md:488 +#: shell-novice/_episodes/02-filedir.md:502 +#: shell-novice/_episodes/02-filedir.md:522 +#: shell-novice/_episodes/02-filedir.md:534 +#: shell-novice/_episodes/02-filedir.md:547 +#: shell-novice/_episodes/02-filedir.md:600 +#: shell-novice/_episodes/02-filedir.md:607 +#: shell-novice/_episodes/02-filedir.md:624 +#: shell-novice/_episodes/02-filedir.md:651 +#: shell-novice/_episodes/02-filedir.md:661 +#: shell-novice/_episodes/02-filedir.md:800 +#: shell-novice/_episodes/02-filedir.md:809 +#: shell-novice/_episodes/02-filedir.md:817 #: shell-novice/_episodes/03-create.md:30 #: shell-novice/_episodes/03-create.md:40 #: shell-novice/_episodes/03-create.md:53 @@ -1009,19 +1028,19 @@ msgstr "" #: shell-novice/_episodes/03-create.md:499 #: shell-novice/_episodes/04-pipefilter.md:37 #: shell-novice/_episodes/04-pipefilter.md:55 -#: shell-novice/_episodes/04-pipefilter.md:177 -#: shell-novice/_episodes/04-pipefilter.md:201 -#: shell-novice/_episodes/04-pipefilter.md:215 -#: shell-novice/_episodes/04-pipefilter.md:275 -#: shell-novice/_episodes/04-pipefilter.md:351 -#: shell-novice/_episodes/04-pipefilter.md:374 -#: shell-novice/_episodes/04-pipefilter.md:413 -#: shell-novice/_episodes/04-pipefilter.md:437 -#: shell-novice/_episodes/04-pipefilter.md:455 -#: shell-novice/_episodes/04-pipefilter.md:746 -#: shell-novice/_episodes/04-pipefilter.md:766 -#: shell-novice/_episodes/04-pipefilter.md:788 -#: shell-novice/_episodes/04-pipefilter.md:808 +#: shell-novice/_episodes/04-pipefilter.md:182 +#: shell-novice/_episodes/04-pipefilter.md:206 +#: shell-novice/_episodes/04-pipefilter.md:220 +#: shell-novice/_episodes/04-pipefilter.md:280 +#: shell-novice/_episodes/04-pipefilter.md:356 +#: shell-novice/_episodes/04-pipefilter.md:379 +#: shell-novice/_episodes/04-pipefilter.md:418 +#: shell-novice/_episodes/04-pipefilter.md:442 +#: shell-novice/_episodes/04-pipefilter.md:460 +#: shell-novice/_episodes/04-pipefilter.md:751 +#: shell-novice/_episodes/04-pipefilter.md:771 +#: shell-novice/_episodes/04-pipefilter.md:793 +#: shell-novice/_episodes/04-pipefilter.md:813 #: shell-novice/_episodes/05-loop.md:39 shell-novice/_episodes/05-loop.md:46 #: shell-novice/_episodes/05-loop.md:70 shell-novice/_episodes/05-loop.md:223 #: shell-novice/_episodes/05-loop.md:233 shell-novice/_episodes/05-loop.md:295 @@ -1046,28 +1065,32 @@ msgstr "" #: shell-novice/_episodes/06-script.md:411 #: shell-novice/_episodes/06-script.md:419 #: shell-novice/_episodes/06-script.md:426 -#: shell-novice/_episodes/06-script.md:443 shell-novice/_episodes/07-find.md:39 -#: shell-novice/_episodes/07-find.md:69 shell-novice/_episodes/07-find.md:87 -#: shell-novice/_episodes/07-find.md:107 shell-novice/_episodes/07-find.md:123 -#: shell-novice/_episodes/07-find.md:141 shell-novice/_episodes/07-find.md:159 -#: shell-novice/_episodes/07-find.md:172 shell-novice/_episodes/07-find.md:187 -#: shell-novice/_episodes/07-find.md:207 shell-novice/_episodes/07-find.md:405 -#: shell-novice/_episodes/07-find.md:442 shell-novice/_episodes/07-find.md:460 -#: shell-novice/_episodes/07-find.md:479 shell-novice/_episodes/07-find.md:495 -#: shell-novice/_episodes/07-find.md:508 shell-novice/_episodes/07-find.md:539 -#: shell-novice/_episodes/07-find.md:559 shell-novice/_episodes/07-find.md:574 +#: shell-novice/_episodes/06-script.md:443 shell-novice/_episodes/07-find.md:40 +#: shell-novice/_episodes/07-find.md:70 shell-novice/_episodes/07-find.md:90 +#: shell-novice/_episodes/07-find.md:110 shell-novice/_episodes/07-find.md:126 +#: shell-novice/_episodes/07-find.md:144 shell-novice/_episodes/07-find.md:162 +#: shell-novice/_episodes/07-find.md:175 shell-novice/_episodes/07-find.md:190 +#: shell-novice/_episodes/07-find.md:210 shell-novice/_episodes/07-find.md:408 +#: shell-novice/_episodes/07-find.md:445 shell-novice/_episodes/07-find.md:463 +#: shell-novice/_episodes/07-find.md:482 shell-novice/_episodes/07-find.md:498 +#: shell-novice/_episodes/07-find.md:511 shell-novice/_episodes/07-find.md:542 +#: shell-novice/_episodes/07-find.md:562 shell-novice/_episodes/07-find.md:577 msgid "{: .language-bash}" msgstr "{: .language-bash}" #: shell-novice/_episodes/01-intro.md:79 msgid "" -"The first line shows only a **prompt**, indicating that the shell is waiting\n" -"for input. Your shell may use different text for the prompt. Most importantly: \n" +"The first line shows only a **prompt**, indicating that the shell is " +"waiting\n" +"for input. Your shell may use different text for the prompt. Most " +"importantly: \n" "when typing commands, either from these lessons or from other sources,\n" "*do not type the prompt*, only the commands that follow it." msgstr "" -"The first line shows only a **prompt**, indicating that the shell is waiting\n" -"for input. Your shell may use different text for the prompt. Most importantly: \n" +"The first line shows only a **prompt**, indicating that the shell is " +"waiting\n" +"for input. Your shell may use different text for the prompt. Most " +"importantly: \n" "when typing commands, either from these lessons or from other sources,\n" "*do not type the prompt*, only the commands that follow it." @@ -1075,71 +1098,93 @@ msgstr "" msgid "" "The part that you type (in this example `ls -F /`)\n" "typically has the following structure: a **command**,\n" -"some **flags** (also called **options** or **switches**) and an **argument**.\n" +"some **flags** (also called **options** or **switches**) and an " +"**argument**.\n" "Flags start with a dash (`-`), and change the behaviour of a command.\n" "Arguments tell the command what to operate on (e.g. files and directories).\n" "Sometimes flags and arguments are referred to as parameters.\n" -"A command can be called with more than one flag and more than one argument: but a\n" +"A command can be called with more than one flag and more than one argument: " +"but a\n" "command doesn't always require an argument or a flag." msgstr "" "The part that you type (in this example `ls -F /`)\n" "typically has the following structure: a **command**,\n" -"some **flags** (also called **options** or **switches**) and an **argument**.\n" +"some **flags** (also called **options** or **switches**) and an " +"**argument**.\n" "Flags start with a dash (`-`), and change the behaviour of a command.\n" "Arguments tell the command what to operate on (e.g. files and directories).\n" "Sometimes flags and arguments are referred to as parameters.\n" -"A command can be called with more than one flag and more than one argument: but a\n" +"A command can be called with more than one flag and more than one argument: " +"but a\n" "command doesn't always require an argument or a flag." #: shell-novice/_episodes/01-intro.md:93 msgid "" "In the example above, our **command** is `ls`, with a **flag** `-F` and an\n" "**argument** `/`. Each part is separated by spaces: if you omit the space \n" -"between `ls` and `-F` the shell will look for a command called `ls-F`, which \n" +"between `ls` and `-F` the shell will look for a command called `ls-F`, " +"which \n" "doesn't exist. Also, capitalization matters: `LS` is different to `ls`. " msgstr "" "In the example above, our **command** is `ls`, with a **flag** `-F` and an\n" "**argument** `/`. Each part is separated by spaces: if you omit the space \n" -"between `ls` and `-F` the shell will look for a command called `ls-F`, which \n" +"between `ls` and `-F` the shell will look for a command called `ls-F`, " +"which \n" "doesn't exist. Also, capitalization matters: `LS` is different to `ls`. " #: shell-novice/_episodes/01-intro.md:98 msgid "" -"Next we see the output that our command produced. In this case it is a listing \n" -"of files and folders in a location called `/` - we'll cover what all these mean \n" +"Next we see the output that our command produced. In this case it is a " +"listing \n" +"of files and folders in a location called `/` - we'll cover what all these " +"mean \n" "later today. Those with a Mac might recognize the output in this example." msgstr "" -"Next we see the output that our command produced. In this case it is a listing \n" -"of files and folders in a location called `/` - we'll cover what all these mean \n" +"Next we see the output that our command produced. In this case it is a " +"listing \n" +"of files and folders in a location called `/` - we'll cover what all these " +"mean \n" "later today. Those with a Mac might recognize the output in this example." #: shell-novice/_episodes/01-intro.md:102 msgid "" -"Finally, the shell again prints the prompt and waits for you to type the next \n" +"Finally, the shell again prints the prompt and waits for you to type the " +"next \n" "command." msgstr "" -"Finally, the shell again prints the prompt and waits for you to type the next \n" +"Finally, the shell again prints the prompt and waits for you to type the " +"next \n" "command." #: shell-novice/_episodes/01-intro.md:105 msgid "" -"In the examples for this lesson, we'll show the prompt as `$ `. You can make your \n" -"prompt look the same by entering the command `PS1='$ '`. But you can also leave \n" -"your prompt as it is - often the prompt includes useful information about who and where \n" +"In the examples for this lesson, we'll show the prompt as `$ `. You can make " +"your \n" +"prompt look the same by entering the command `PS1='$ '`. But you can also " +"leave \n" +"your prompt as it is - often the prompt includes useful information about " +"who and where \n" "you are." msgstr "" -"In the examples for this lesson, we'll show the prompt as `$ `. You can make your \n" -"prompt look the same by entering the command `PS1='$ '`. But you can also leave \n" -"your prompt as it is - often the prompt includes useful information about who and where \n" +"In the examples for this lesson, we'll show the prompt as `$ `. You can make " +"your \n" +"prompt look the same by entering the command `PS1='$ '`. But you can also " +"leave \n" +"your prompt as it is - often the prompt includes useful information about " +"who and where \n" "you are." #: shell-novice/_episodes/01-intro.md:110 msgid "" -"Open a shell window and try entering `ls -F /` for yourself (don't forget that spaces\n" -"and capitalization are important!). You can change the prompt too, if you like." +"Open a shell window and try entering `ls -F /` for yourself (don't forget " +"that spaces\n" +"and capitalization are important!). You can change the prompt too, if you " +"like." msgstr "" -"Open a shell window and try entering `ls -F /` for yourself (don't forget that spaces\n" -"and capitalization are important!). You can change the prompt too, if you like." +"Open a shell window and try entering `ls -F /` for yourself (don't forget " +"that spaces\n" +"and capitalization are important!). You can change the prompt too, if you " +"like." # header #: shell-novice/_episodes/01-intro.md:113 @@ -1148,22 +1193,30 @@ msgstr "### How does the shell know what `ls` and its flags mean?" #: shell-novice/_episodes/01-intro.md:115 msgid "" -"Every command is a program stored somewhere on the computer, and the shell keeps a\n" -"list of places to search for commands (the list is in a **variable** called `$PATH`, \n" -"but those are concepts we'll meet later and not too important at the moment). Recall\n" +"Every command is a program stored somewhere on the computer, and the shell " +"keeps a\n" +"list of places to search for commands (the list is in a **variable** called `" +"$PATH`, \n" +"but those are concepts we'll meet later and not too important at the " +"moment). Recall\n" "that commands, flags and arguments are separated by spaces." msgstr "" -"Every command is a program stored somewhere on the computer, and the shell keeps a\n" -"list of places to search for commands (the list is in a **variable** called `$PATH`, \n" -"but those are concepts we'll meet later and not too important at the moment). Recall\n" +"Every command is a program stored somewhere on the computer, and the shell " +"keeps a\n" +"list of places to search for commands (the list is in a **variable** called `" +"$PATH`, \n" +"but those are concepts we'll meet later and not too important at the " +"moment). Recall\n" "that commands, flags and arguments are separated by spaces." #: shell-novice/_episodes/01-intro.md:120 msgid "" -"So let's look at the REPL (read-evaluate-print loop) in more detail. Notice that the\n" +"So let's look at the REPL (read-evaluate-print loop) in more detail. Notice " +"that the\n" "\"evaluate\" step is made of two parts:" msgstr "" -"So let's look at the REPL (read-evaluate-print loop) in more detail. Notice that the\n" +"So let's look at the REPL (read-evaluate-print loop) in more detail. Notice " +"that the\n" "\"evaluate\" step is made of two parts:" # ordered list @@ -1173,14 +1226,16 @@ msgstr "1. Read what was typed (`ls -F /` in our example) " #: shell-novice/_episodes/01-intro.md:124 msgid "" -" The shell uses the spaces to split the line into the command, flags, and arguments\n" +" The shell uses the spaces to split the line into the command, flags, and " +"arguments\n" "2. Evaluate: \n" " a. Find a program called `ls` \n" " b. Execute it, passing it the flags and arguments (`-F` and `/`) to \n" " interpret as the program sees fit \n" "3. Print the output produced by the program" msgstr "" -" The shell uses the spaces to split the line into the command, flags, and arguments\n" +" The shell uses the spaces to split the line into the command, flags, and " +"arguments\n" "2. Evaluate: \n" " a. Find a program called `ls` \n" " b. Execute it, passing it the flags and arguments (`-F` and `/`) to \n" @@ -1198,8 +1253,10 @@ msgstr "> ## Command not found " # blockquote, which can be cascaded #: shell-novice/_episodes/01-intro.md:134 -msgid "> If the shell can't find a program whose name is the command you typed, it " -msgstr "> If the shell can't find a program whose name is the command you typed, it " +msgid "" +"> If the shell can't find a program whose name is the command you typed, it " +msgstr "" +"> If the shell can't find a program whose name is the command you typed, it " # blockquote, which can be cascaded #: shell-novice/_episodes/01-intro.md:135 @@ -1209,8 +1266,8 @@ msgstr "> will print an erorr message like:" # blockquote, which can be cascaded #: shell-novice/_episodes/01-intro.md:136 #: shell-novice/_episodes/01-intro.md:142 shell-novice/_episodes/05-loop.md:349 -#: shell-novice/_episodes/05-loop.md:351 shell-novice/_episodes/07-find.md:283 -#: shell-novice/_episodes/07-find.md:286 shell-novice/_episodes/07-find.md:661 +#: shell-novice/_episodes/05-loop.md:351 shell-novice/_episodes/07-find.md:286 +#: shell-novice/_episodes/07-find.md:289 shell-novice/_episodes/07-find.md:664 msgid "> " msgstr "> " @@ -1230,7 +1287,7 @@ msgstr "> " #: shell-novice/_episodes/03-create.md:675 #: shell-novice/_episodes/03-create.md:677 #: shell-novice/_episodes/05-loop.md:352 shell-novice/_episodes/05-loop.md:357 -#: shell-novice/_episodes/07-find.md:287 shell-novice/_episodes/07-find.md:293 +#: shell-novice/_episodes/07-find.md:290 shell-novice/_episodes/07-find.md:296 msgid "> ~~~" msgstr "> ~~~" @@ -1256,8 +1313,12 @@ msgstr "> {: .language-bash}" # blockquote, which can be cascaded #: shell-novice/_episodes/01-intro.md:143 -msgid "> Usually this means that you have mis-typed the command - in this case we omitted" -msgstr "> 通常これは、あなたがコマンドをタイプミスしたことを意味します。このケースでは" +msgid "" +"> Usually this means that you have mis-typed the command - in this case we " +"omitted" +msgstr "" +"> 通常これは、あなたがコマンドをタイプミスしたことを意味します。このケースで" +"は" # blockquote, which can be cascaded #: shell-novice/_episodes/01-intro.md:144 @@ -1266,14 +1327,14 @@ msgstr "> `ls` と `-F` の間に空白を忘れています。" # SC/DC Template label #: shell-novice/_episodes/01-intro.md:145 -#: shell-novice/_episodes/02-filedir.md:70 -#: shell-novice/_episodes/02-filedir.md:107 -#: shell-novice/_episodes/02-filedir.md:190 -#: shell-novice/_episodes/02-filedir.md:337 -#: shell-novice/_episodes/02-filedir.md:576 -#: shell-novice/_episodes/02-filedir.md:589 -#: shell-novice/_episodes/02-filedir.md:678 -#: shell-novice/_episodes/02-filedir.md:781 +#: shell-novice/_episodes/02-filedir.md:71 +#: shell-novice/_episodes/02-filedir.md:108 +#: shell-novice/_episodes/02-filedir.md:191 +#: shell-novice/_episodes/02-filedir.md:338 +#: shell-novice/_episodes/02-filedir.md:577 +#: shell-novice/_episodes/02-filedir.md:590 +#: shell-novice/_episodes/02-filedir.md:679 +#: shell-novice/_episodes/02-filedir.md:782 #: shell-novice/_episodes/03-create.md:77 #: shell-novice/_episodes/03-create.md:105 #: shell-novice/_episodes/03-create.md:145 @@ -1282,17 +1343,17 @@ msgstr "> `ls` と `-F` の間に空白を忘れています。" #: shell-novice/_episodes/03-create.md:344 #: shell-novice/_episodes/03-create.md:532 #: shell-novice/_episodes/04-pipefilter.md:99 -#: shell-novice/_episodes/04-pipefilter.md:297 -#: shell-novice/_episodes/04-pipefilter.md:402 -#: shell-novice/_episodes/04-pipefilter.md:558 +#: shell-novice/_episodes/04-pipefilter.md:302 +#: shell-novice/_episodes/04-pipefilter.md:407 +#: shell-novice/_episodes/04-pipefilter.md:563 #: shell-novice/_episodes/05-loop.md:85 shell-novice/_episodes/05-loop.md:195 #: shell-novice/_episodes/05-loop.md:209 shell-novice/_episodes/05-loop.md:381 #: shell-novice/_episodes/05-loop.md:517 shell-novice/_episodes/05-loop.md:563 #: shell-novice/_episodes/05-loop.md:579 shell-novice/_episodes/06-script.md:89 #: shell-novice/_episodes/06-script.md:147 -#: shell-novice/_episodes/06-script.md:337 shell-novice/_episodes/07-find.md:62 -#: shell-novice/_episodes/07-find.md:280 shell-novice/_episodes/07-find.md:524 -#: shell-novice/_episodes/07-find.md:631 shell-novice/setup.md:63 +#: shell-novice/_episodes/06-script.md:337 shell-novice/_episodes/07-find.md:63 +#: shell-novice/_episodes/07-find.md:283 shell-novice/_episodes/07-find.md:527 +#: shell-novice/_episodes/07-find.md:634 shell-novice/setup.md:64 msgid "{: .callout}" msgstr "{: .callout}" @@ -1303,21 +1364,31 @@ msgstr "### Is it difficult?" #: shell-novice/_episodes/01-intro.md:149 msgid "" -"It isn't difficult, but it is a different model of interacting than a GUI, and that \n" +"It isn't difficult, but it is a different model of interacting than a GUI, " +"and that \n" "will take some effort - and some time - to learn. A GUI \n" -"presents you with choices and you select one. With a CLI the choices are combinations \n" -"of commands and parameters, more like words in a language than buttons on a screen. They\n" +"presents you with choices and you select one. With a CLI the choices are " +"combinations \n" +"of commands and parameters, more like words in a language than buttons on a " +"screen. They\n" "are not presented to you so\n" -"you must learn a few, like learning some vocabulary in a new language. But a small \n" -"number of commands gets you a long way, and we'll cover those essential few today." +"you must learn a few, like learning some vocabulary in a new language. But a " +"small \n" +"number of commands gets you a long way, and we'll cover those essential few " +"today." msgstr "" -"It isn't difficult, but it is a different model of interacting than a GUI, and that \n" +"It isn't difficult, but it is a different model of interacting than a GUI, " +"and that \n" "will take some effort - and some time - to learn. A GUI \n" -"presents you with choices and you select one. With a CLI the choices are combinations \n" -"of commands and parameters, more like words in a language than buttons on a screen. They\n" +"presents you with choices and you select one. With a CLI the choices are " +"combinations \n" +"of commands and parameters, more like words in a language than buttons on a " +"screen. They\n" "are not presented to you so\n" -"you must learn a few, like learning some vocabulary in a new language. But a small \n" -"number of commands gets you a long way, and we'll cover those essential few today." +"you must learn a few, like learning some vocabulary in a new language. But a " +"small \n" +"number of commands gets you a long way, and we'll cover those essential few " +"today." # header #: shell-novice/_episodes/01-intro.md:157 @@ -1338,18 +1409,24 @@ msgstr "" #: shell-novice/_episodes/01-intro.md:164 msgid "" -"In addition, the command line is often the easiest way to interact with remote machines and supercomputers.\n" -"Familiarity with the shell is near essential to run a variety of specialized tools and resources\n" +"In addition, the command line is often the easiest way to interact with " +"remote machines and supercomputers.\n" +"Familiarity with the shell is near essential to run a variety of specialized " +"tools and resources\n" "including high-performance computing systems.\n" -"As clusters and cloud computing systems become more popular for scientific data crunching,\n" +"As clusters and cloud computing systems become more popular for scientific " +"data crunching,\n" "being able to interact with the shell is becoming a necessary skill.\n" "We can build on the command-line skills covered here\n" "to tackle a wide range of scientific questions and computational challenges." msgstr "" -"In addition, the command line is often the easiest way to interact with remote machines and supercomputers.\n" -"Familiarity with the shell is near essential to run a variety of specialized tools and resources\n" +"In addition, the command line is often the easiest way to interact with " +"remote machines and supercomputers.\n" +"Familiarity with the shell is near essential to run a variety of specialized " +"tools and resources\n" "including high-performance computing systems.\n" -"As clusters and cloud computing systems become more popular for scientific data crunching,\n" +"As clusters and cloud computing systems become more popular for scientific " +"data crunching,\n" "being able to interact with the shell is becoming a necessary skill.\n" "We can build on the command-line skills covered here\n" "to tackle a wide range of scientific questions and computational challenges." @@ -1365,14 +1442,16 @@ msgid "" "has just returned from a six-month survey of the\n" "[North Pacific Gyre](http://en.wikipedia.org/wiki/North_Pacific_Gyre),\n" "where she has been sampling gelatinous marine life in the\n" -"[Great Pacific Garbage Patch](http://en.wikipedia.org/wiki/Great_Pacific_Garbage_Patch).\n" +"[Great Pacific Garbage Patch](http://en.wikipedia.org/wiki/" +"Great_Pacific_Garbage_Patch).\n" "She has 1520 samples in all and now needs to:" msgstr "" "Nelle Nemo, a marine biologist,\n" "has just returned from a six-month survey of the\n" "[North Pacific Gyre](http://en.wikipedia.org/wiki/North_Pacific_Gyre),\n" "where she has been sampling gelatinous marine life in the\n" -"[Great Pacific Garbage Patch](http://en.wikipedia.org/wiki/Great_Pacific_Garbage_Patch).\n" +"[Great Pacific Garbage Patch](http://en.wikipedia.org/wiki/" +"Great_Pacific_Garbage_Patch).\n" "She has 1520 samples in all and now needs to:" # ordered list @@ -1389,7 +1468,8 @@ msgid "" " using a program her supervisor wrote called `goostats`.\n" "3. Write up results.\n" " Her supervisor would really like her to do this by the end of the month\n" -" so that her paper can appear in an upcoming special issue of *Aquatic Goo Letters*." +" so that her paper can appear in an upcoming special issue of *Aquatic " +"Goo Letters*." msgstr "" " that will measure the relative abundance of 300 different proteins.\n" " The machine's output for a single sample is\n" @@ -1398,7 +1478,8 @@ msgstr "" " using a program her supervisor wrote called `goostats`.\n" "3. Write up results.\n" " Her supervisor would really like her to do this by the end of the month\n" -" so that her paper can appear in an upcoming special issue of *Aquatic Goo Letters*." +" so that her paper can appear in an upcoming special issue of *Aquatic " +"Goo Letters*." #: shell-novice/_episodes/01-intro.md:191 msgid "" @@ -1420,22 +1501,28 @@ msgid "" "she'll have to enter filenames and click \"OK\" 1520 times.\n" "At 30 seconds per sample,\n" "the whole process will take more than 12 hours\n" -"(and that's assuming the best-case scenario where she is ready to enter the next file name\n" +"(and that's assuming the best-case scenario where she is ready to enter the " +"next file name\n" "as soon as the previous sample analysis has finished).\n" -"This zero-breaks always-ready scenario is only achieveable by a machine so it would\n" +"This zero-breaks always-ready scenario is only achieveable by a machine so " +"it would\n" "likely take much longer than 12 hours, not to mention that\n" -"the chances of her typing all of those commands correctly are practically zero.\n" +"the chances of her typing all of those commands correctly are practically " +"zero.\n" "Missing that paper deadline is looking increasingly likely." msgstr "" "The bad news is that if she has to run `goostats` by hand,\n" "she'll have to enter filenames and click \"OK\" 1520 times.\n" "At 30 seconds per sample,\n" "the whole process will take more than 12 hours\n" -"(and that's assuming the best-case scenario where she is ready to enter the next file name\n" +"(and that's assuming the best-case scenario where she is ready to enter the " +"next file name\n" "as soon as the previous sample analysis has finished).\n" -"This zero-breaks always-ready scenario is only achieveable by a machine so it would\n" +"This zero-breaks always-ready scenario is only achieveable by a machine so " +"it would\n" "likely take much longer than 12 hours, not to mention that\n" -"the chances of her typing all of those commands correctly are practically zero.\n" +"the chances of her typing all of those commands correctly are practically " +"zero.\n" "Missing that paper deadline is looking increasingly likely." #: shell-novice/_episodes/01-intro.md:208 @@ -1460,6 +1547,7 @@ msgstr "" # Front Matter #: shell-novice/_episodes/02-filedir.md:1 +#, fuzzy msgid "" "---\n" "title: \"Navigating Files and Directories\"\n" @@ -1470,24 +1558,34 @@ msgid "" "- \"How can I see what files and directories I have?\"\n" "- \"How can I specify the location of a file or directory on my computer?\"\n" "objectives:\n" -"- \"Explain the similarities and differences between a file and a directory.\"\n" +"- \"Explain the similarities and differences between a file and a directory." +"\"\n" "- \"Translate an absolute path into a relative path and vice versa.\"\n" -"- \"Construct absolute and relative paths that identify specific files and directories.\"\n" +"- \"Construct absolute and relative paths that identify specific files and " +"directories.\"\n" "- \"Demonstrate the use of tab completion, and explain its advantages.\"\n" "keypoints:\n" "- \"The file system is responsible for managing information on the disk.\"\n" -"- \"Information is stored in files, which are stored in directories (folders).\"\n" -"- \"Directories can also store other directories, which forms a directory tree.\"\n" +"- \"Information is stored in files, which are stored in directories " +"(folders).\"\n" +"- \"Directories can also store other directories, which forms a directory " +"tree.\"\n" "- \"`cd path` changes the current working directory.\"\n" -"- \"`ls path` prints a listing of a specific file or directory; `ls` on its own lists the current working directory.\"\n" +"- \"`ls path` prints a listing of a specific file or directory; `ls` on its " +"own lists the current working directory.\"\n" "- \"`pwd` prints the user's current working directory.\"\n" "- \"`whoami` shows the user's current identity.\"\n" "- \"`/` on its own is the root directory of the whole file system.\"\n" -"- \"A relative path specifies a location starting from the current location.\"\n" -"- \"An absolute path specifies a location from the root of the file system.\"\n" -"- \"Directory names in a path are separated with `/` on Unix, but `\\\\\\\\` on Windows.\"\n" -"- \"`..` means 'the directory above the current one'; `.` on its own means 'the current directory'.\"\n" -"- \"Most files' names are `something.extension`. The extension isn't required, and doesn't guarantee anything, \n" +"- \"A relative path specifies a location starting from the current location." +"\"\n" +"- \"An absolute path specifies a location from the root of the file system." +"\"\n" +"- \"Directory names in a path are separated with `/` on Unix, but `\\\\\\\\` " +"on Windows.\"\n" +"- \"`..` means 'the directory above the current one'; `.` on its own means " +"'the current directory'.\"\n" +"- \"Most files' names are `something.extension`. The extension isn't " +"required, and doesn't guarantee anything,\n" "but is normally used to indicate the type of data in the file.\"\n" "---" msgstr "" @@ -1500,73 +1598,93 @@ msgstr "" "- \"How can I see what files and directories I have?\"\n" "- \"How can I specify the location of a file or directory on my computer?\"\n" "objectives:\n" -"- \"Explain the similarities and differences between a file and a directory.\"\n" +"- \"Explain the similarities and differences between a file and a directory." +"\"\n" "- \"Translate an absolute path into a relative path and vice versa.\"\n" -"- \"Construct absolute and relative paths that identify specific files and directories.\"\n" +"- \"Construct absolute and relative paths that identify specific files and " +"directories.\"\n" "- \"Demonstrate the use of tab completion, and explain its advantages.\"\n" "keypoints:\n" "- \"The file system is responsible for managing information on the disk.\"\n" -"- \"Information is stored in files, which are stored in directories (folders).\"\n" -"- \"Directories can also store other directories, which forms a directory tree.\"\n" +"- \"Information is stored in files, which are stored in directories " +"(folders).\"\n" +"- \"Directories can also store other directories, which forms a directory " +"tree.\"\n" "- \"`cd path` changes the current working directory.\"\n" -"- \"`ls path` prints a listing of a specific file or directory; `ls` on its own lists the current working directory.\"\n" +"- \"`ls path` prints a listing of a specific file or directory; `ls` on its " +"own lists the current working directory.\"\n" "- \"`pwd` prints the user's current working directory.\"\n" "- \"`whoami` shows the user's current identity.\"\n" "- \"`/` on its own is the root directory of the whole file system.\"\n" -"- \"A relative path specifies a location starting from the current location.\"\n" -"- \"An absolute path specifies a location from the root of the file system.\"\n" -"- \"Directory names in a path are separated with `/` on Unix, but `\\\\\\\\` on Windows.\"\n" -"- \"`..` means 'the directory above the current one'; `.` on its own means 'the current directory'.\"\n" -"- \"Most files' names are `something.extension`. The extension isn't required, and doesn't guarantee anything, \n" +"- \"A relative path specifies a location starting from the current location." +"\"\n" +"- \"An absolute path specifies a location from the root of the file system." +"\"\n" +"- \"Directory names in a path are separated with `/` on Unix, but `\\\\\\\\` " +"on Windows.\"\n" +"- \"`..` means 'the directory above the current one'; `.` on its own means " +"'the current directory'.\"\n" +"- \"Most files' names are `something.extension`. The extension isn't " +"required, and doesn't guarantee anything, \n" "but is normally used to indicate the type of data in the file.\"\n" "---" -#: shell-novice/_episodes/02-filedir.md:30 +#: shell-novice/_episodes/02-filedir.md:31 msgid "" -"The part of the operating system responsible for managing files and directories \n" +"The part of the operating system responsible for managing files and " +"directories \n" "is called the **file system**.\n" "It organizes our data into files,\n" "which hold information,\n" "and directories (also called \"folders\"),\n" "which hold files or other directories." msgstr "" -"The part of the operating system responsible for managing files and directories \n" +"The part of the operating system responsible for managing files and " +"directories \n" "is called the **file system**.\n" "It organizes our data into files,\n" "which hold information,\n" "and directories (also called \"folders\"),\n" "which hold files or other directories." -#: shell-novice/_episodes/02-filedir.md:37 +#: shell-novice/_episodes/02-filedir.md:38 msgid "" -"Several commands are frequently used to create, inspect, rename, and delete files and directories.\n" +"Several commands are frequently used to create, inspect, rename, and delete " +"files and directories.\n" "To start exploring them, we'll go to our open shell window:" msgstr "" -"Several commands are frequently used to create, inspect, rename, and delete files and directories.\n" +"Several commands are frequently used to create, inspect, rename, and delete " +"files and directories.\n" "To start exploring them, we'll go to our open shell window:" -#: shell-novice/_episodes/02-filedir.md:40 +#: shell-novice/_episodes/02-filedir.md:41 msgid "" "First let's find out where we are by running a command called `pwd`\n" -"(which stands for \"print working directory\"). Directories are like *places* - at any time\n" +"(which stands for \"print working directory\"). Directories are like " +"*places* - at any time\n" "while we are using the shell we are in exactly one place, called\n" -"our **current working directory**. Commands mostly read and write files in the \n" -"current working directory, i.e. \"here\", so knowing where you are before running\n" +"our **current working directory**. Commands mostly read and write files in " +"the \n" +"current working directory, i.e. \"here\", so knowing where you are before " +"running\n" "a command is important. `pwd` shows you where you are:" msgstr "" "First let's find out where we are by running a command called `pwd`\n" -"(which stands for \"print working directory\"). Directories are like *places* - at any time\n" +"(which stands for \"print working directory\"). Directories are like " +"*places* - at any time\n" "while we are using the shell we are in exactly one place, called\n" -"our **current working directory**. Commands mostly read and write files in the \n" -"current working directory, i.e. \"here\", so knowing where you are before running\n" +"our **current working directory**. Commands mostly read and write files in " +"the \n" +"current working directory, i.e. \"here\", so knowing where you are before " +"running\n" "a command is important. `pwd` shows you where you are:" # code block -#: shell-novice/_episodes/02-filedir.md:47 -#: shell-novice/_episodes/02-filedir.md:474 -#: shell-novice/_episodes/02-filedir.md:530 -#: shell-novice/_episodes/02-filedir.md:603 -#: shell-novice/_episodes/02-filedir.md:647 +#: shell-novice/_episodes/02-filedir.md:48 +#: shell-novice/_episodes/02-filedir.md:475 +#: shell-novice/_episodes/02-filedir.md:531 +#: shell-novice/_episodes/02-filedir.md:604 +#: shell-novice/_episodes/02-filedir.md:648 #: shell-novice/_episodes/03-create.md:27 #: shell-novice/_episodes/03-create.md:262 #: shell-novice/_episodes/03-create.md:350 @@ -1580,8 +1698,8 @@ msgstr "" "~~~" # code block -#: shell-novice/_episodes/02-filedir.md:52 -#: shell-novice/_episodes/02-filedir.md:608 +#: shell-novice/_episodes/02-filedir.md:53 +#: shell-novice/_episodes/02-filedir.md:609 msgid "" "~~~\n" "/Users/nelle\n" @@ -1592,18 +1710,18 @@ msgstr "" "~~~" # SC/DC Template label -#: shell-novice/_episodes/02-filedir.md:55 -#: shell-novice/_episodes/02-filedir.md:135 -#: shell-novice/_episodes/02-filedir.md:158 -#: shell-novice/_episodes/02-filedir.md:321 -#: shell-novice/_episodes/02-filedir.md:414 -#: shell-novice/_episodes/02-filedir.md:443 -#: shell-novice/_episodes/02-filedir.md:482 -#: shell-novice/_episodes/02-filedir.md:493 -#: shell-novice/_episodes/02-filedir.md:538 -#: shell-novice/_episodes/02-filedir.md:552 -#: shell-novice/_episodes/02-filedir.md:611 -#: shell-novice/_episodes/02-filedir.md:655 +#: shell-novice/_episodes/02-filedir.md:56 +#: shell-novice/_episodes/02-filedir.md:136 +#: shell-novice/_episodes/02-filedir.md:159 +#: shell-novice/_episodes/02-filedir.md:322 +#: shell-novice/_episodes/02-filedir.md:415 +#: shell-novice/_episodes/02-filedir.md:444 +#: shell-novice/_episodes/02-filedir.md:483 +#: shell-novice/_episodes/02-filedir.md:494 +#: shell-novice/_episodes/02-filedir.md:539 +#: shell-novice/_episodes/02-filedir.md:553 +#: shell-novice/_episodes/02-filedir.md:612 +#: shell-novice/_episodes/02-filedir.md:656 #: shell-novice/_episodes/03-create.md:35 #: shell-novice/_episodes/03-create.md:45 #: shell-novice/_episodes/03-create.md:69 @@ -1617,18 +1735,18 @@ msgstr "" #: shell-novice/_episodes/03-create.md:489 #: shell-novice/_episodes/04-pipefilter.md:43 #: shell-novice/_episodes/04-pipefilter.md:66 -#: shell-novice/_episodes/04-pipefilter.md:188 -#: shell-novice/_episodes/04-pipefilter.md:220 -#: shell-novice/_episodes/04-pipefilter.md:286 -#: shell-novice/_episodes/04-pipefilter.md:362 -#: shell-novice/_episodes/04-pipefilter.md:379 -#: shell-novice/_episodes/04-pipefilter.md:418 -#: shell-novice/_episodes/04-pipefilter.md:448 -#: shell-novice/_episodes/04-pipefilter.md:460 -#: shell-novice/_episodes/04-pipefilter.md:759 -#: shell-novice/_episodes/04-pipefilter.md:775 -#: shell-novice/_episodes/04-pipefilter.md:797 -#: shell-novice/_episodes/04-pipefilter.md:813 +#: shell-novice/_episodes/04-pipefilter.md:193 +#: shell-novice/_episodes/04-pipefilter.md:225 +#: shell-novice/_episodes/04-pipefilter.md:291 +#: shell-novice/_episodes/04-pipefilter.md:367 +#: shell-novice/_episodes/04-pipefilter.md:384 +#: shell-novice/_episodes/04-pipefilter.md:423 +#: shell-novice/_episodes/04-pipefilter.md:453 +#: shell-novice/_episodes/04-pipefilter.md:465 +#: shell-novice/_episodes/04-pipefilter.md:764 +#: shell-novice/_episodes/04-pipefilter.md:780 +#: shell-novice/_episodes/04-pipefilter.md:802 +#: shell-novice/_episodes/04-pipefilter.md:818 #: shell-novice/_episodes/05-loop.md:80 shell-novice/_episodes/05-loop.md:313 #: shell-novice/_episodes/05-loop.md:449 shell-novice/_episodes/05-loop.md:472 #: shell-novice/_episodes/05-loop.md:528 shell-novice/_episodes/06-script.md:73 @@ -1640,19 +1758,19 @@ msgstr "" #: shell-novice/_episodes/06-script.md:195 #: shell-novice/_episodes/06-script.md:211 #: shell-novice/_episodes/06-script.md:255 -#: shell-novice/_episodes/06-script.md:272 shell-novice/_episodes/07-find.md:54 -#: shell-novice/_episodes/07-find.md:76 shell-novice/_episodes/07-find.md:93 -#: shell-novice/_episodes/07-find.md:112 shell-novice/_episodes/07-find.md:128 -#: shell-novice/_episodes/07-find.md:148 shell-novice/_episodes/07-find.md:165 -#: shell-novice/_episodes/07-find.md:179 shell-novice/_episodes/07-find.md:200 -#: shell-novice/_episodes/07-find.md:230 shell-novice/_episodes/07-find.md:422 -#: shell-novice/_episodes/07-find.md:451 shell-novice/_episodes/07-find.md:472 -#: shell-novice/_episodes/07-find.md:484 shell-novice/_episodes/07-find.md:516 -#: shell-novice/_episodes/07-find.md:548 shell-novice/_episodes/07-find.md:579 +#: shell-novice/_episodes/06-script.md:272 shell-novice/_episodes/07-find.md:55 +#: shell-novice/_episodes/07-find.md:77 shell-novice/_episodes/07-find.md:96 +#: shell-novice/_episodes/07-find.md:115 shell-novice/_episodes/07-find.md:131 +#: shell-novice/_episodes/07-find.md:151 shell-novice/_episodes/07-find.md:168 +#: shell-novice/_episodes/07-find.md:182 shell-novice/_episodes/07-find.md:203 +#: shell-novice/_episodes/07-find.md:233 shell-novice/_episodes/07-find.md:425 +#: shell-novice/_episodes/07-find.md:454 shell-novice/_episodes/07-find.md:475 +#: shell-novice/_episodes/07-find.md:487 shell-novice/_episodes/07-find.md:519 +#: shell-novice/_episodes/07-find.md:551 shell-novice/_episodes/07-find.md:582 msgid "{: .output}" msgstr "{: .output}" -#: shell-novice/_episodes/02-filedir.md:57 +#: shell-novice/_episodes/02-filedir.md:58 msgid "" "Here,\n" "the computer's response is `/Users/nelle`,\n" @@ -1663,31 +1781,39 @@ msgstr "" "which is Nelle's **home directory**:" # blockquote, which can be cascaded -#: shell-novice/_episodes/02-filedir.md:61 +#: shell-novice/_episodes/02-filedir.md:62 msgid "> ## Home Directory Variation" msgstr "> ## Home Directory Variation" -#: shell-novice/_episodes/02-filedir.md:62 +#: shell-novice/_episodes/02-filedir.md:63 msgid "" ">\n" -"> The home directory path will look different on different operating systems.\n" +"> The home directory path will look different on different operating " +"systems.\n" "> On Linux it may look like `/home/nelle`,\n" -"> and on Windows it will be similar to `C:\\Documents and Settings\\nelle` or\n" +"> and on Windows it will be similar to `C:\\Documents and Settings\\nelle` " +"or\n" "> `C:\\Users\\nelle`. \n" -"> (Note that it may look slightly different for different versions of Windows.)\n" -"> In future examples, we've used Mac output as the default - Linux and Windows\n" +"> (Note that it may look slightly different for different versions of " +"Windows.)\n" +"> In future examples, we've used Mac output as the default - Linux and " +"Windows\n" "> output may differ slightly, but should be generally similar. " msgstr "" ">\n" -"> The home directory path will look different on different operating systems.\n" +"> The home directory path will look different on different operating " +"systems.\n" "> On Linux it may look like `/home/nelle`,\n" -"> and on Windows it will be similar to `C:\\Documents and Settings\\nelle` or\n" +"> and on Windows it will be similar to `C:\\Documents and Settings\\nelle` " +"or\n" "> `C:\\Users\\nelle`. \n" -"> (Note that it may look slightly different for different versions of Windows.)\n" -"> In future examples, we've used Mac output as the default - Linux and Windows\n" +"> (Note that it may look slightly different for different versions of " +"Windows.)\n" +"> In future examples, we've used Mac output as the default - Linux and " +"Windows\n" "> output may differ slightly, but should be generally similar. " -#: shell-novice/_episodes/02-filedir.md:72 +#: shell-novice/_episodes/02-filedir.md:73 msgid "" "To understand what a \"home directory\" is,\n" "let's have a look at how the file system as a whole is organized. For the\n" @@ -1703,15 +1829,15 @@ msgstr "" "illustration, you'll be learning commands to explore your own filesystem,\n" "which will be constructed in a similar way, but not be exactly identical. " -#: shell-novice/_episodes/02-filedir.md:79 +#: shell-novice/_episodes/02-filedir.md:80 msgid "On Nelle's computer, the filesystem looks like this:" msgstr "On Nelle's computer, the filesystem looks like this:" -#: shell-novice/_episodes/02-filedir.md:81 +#: shell-novice/_episodes/02-filedir.md:82 msgid "![The File System](../fig/filesystem.svg)" msgstr "![The File System](../fig/filesystem.svg)" -#: shell-novice/_episodes/02-filedir.md:83 +#: shell-novice/_episodes/02-filedir.md:84 msgid "" "At the top is the **root directory**\n" "that holds everything else.\n" @@ -1723,7 +1849,7 @@ msgstr "" "We refer to it using a slash character `/` on its own;\n" "this is the leading slash in `/Users/nelle`." -#: shell-novice/_episodes/02-filedir.md:88 +#: shell-novice/_episodes/02-filedir.md:89 msgid "" "Inside that directory are several other directories:\n" "`bin` (which is where some built-in programs are stored),\n" @@ -1739,26 +1865,28 @@ msgstr "" "`tmp` (for temporary files that don't need to be stored long-term),\n" "and so on. " -#: shell-novice/_episodes/02-filedir.md:95 +#: shell-novice/_episodes/02-filedir.md:96 msgid "" -"We know that our current working directory `/Users/nelle` is stored inside `/Users`\n" +"We know that our current working directory `/Users/nelle` is stored inside `/" +"Users`\n" "because `/Users` is the first part of its name.\n" "Similarly,\n" "we know that `/Users` is stored inside the root directory `/`\n" "because its name begins with `/`." msgstr "" -"We know that our current working directory `/Users/nelle` is stored inside `/Users`\n" +"We know that our current working directory `/Users/nelle` is stored inside `/" +"Users`\n" "because `/Users` is the first part of its name.\n" "Similarly,\n" "we know that `/Users` is stored inside the root directory `/`\n" "because its name begins with `/`." # blockquote, which can be cascaded -#: shell-novice/_episodes/02-filedir.md:101 +#: shell-novice/_episodes/02-filedir.md:102 msgid "> ## Slashes" msgstr "> ## Slashes" -#: shell-novice/_episodes/02-filedir.md:102 +#: shell-novice/_episodes/02-filedir.md:103 msgid "" ">\n" "> Notice that there are two meanings for the `/` character.\n" @@ -1772,7 +1900,7 @@ msgstr "" "> it refers to the root directory. When it appears *inside* a name,\n" "> it's just a separator." -#: shell-novice/_episodes/02-filedir.md:109 +#: shell-novice/_episodes/02-filedir.md:110 msgid "" "Underneath `/Users`,\n" "we find one directory for each user with an account on Nelle's machine,\n" @@ -1782,11 +1910,11 @@ msgstr "" "we find one directory for each user with an account on Nelle's machine,\n" "her colleagues the Mummy and Wolfman. " -#: shell-novice/_episodes/02-filedir.md:113 +#: shell-novice/_episodes/02-filedir.md:114 msgid "![Home Directories](../fig/home-directories.svg)" msgstr "![Home Directories](../fig/home-directories.svg)" -#: shell-novice/_episodes/02-filedir.md:115 +#: shell-novice/_episodes/02-filedir.md:116 msgid "" "The Mummy's files are stored in `/Users/imhotep`,\n" "Wolfman's in `/Users/larry`,\n" @@ -1802,7 +1930,7 @@ msgstr "" "Typically, when you open a new command prompt you will be in\n" "your home directory to start. " -#: shell-novice/_episodes/02-filedir.md:122 +#: shell-novice/_episodes/02-filedir.md:123 msgid "" "Now let's learn the command that will let us see the contents of our\n" "own filesystem. We can see what's in our home directory by running `ls`,\n" @@ -1813,7 +1941,7 @@ msgstr "" "which stands for \"listing\":" # code block -#: shell-novice/_episodes/02-filedir.md:126 +#: shell-novice/_episodes/02-filedir.md:127 #: shell-novice/_episodes/03-create.md:180 #: shell-novice/_episodes/03-create.md:243 msgid "" @@ -1826,7 +1954,7 @@ msgstr "" "~~~" # code block -#: shell-novice/_episodes/02-filedir.md:131 +#: shell-novice/_episodes/02-filedir.md:132 msgid "" "~~~\n" "Applications Documents Library Music Public\n" @@ -1838,7 +1966,7 @@ msgstr "" "Desktop Downloads Movies Pictures\n" "~~~" -#: shell-novice/_episodes/02-filedir.md:137 +#: shell-novice/_episodes/02-filedir.md:138 msgid "" "(Again, your results may be slightly different depending on your operating\n" "system and how you have customized your filesystem.)" @@ -1846,29 +1974,37 @@ msgstr "" "(Again, your results may be slightly different depending on your operating\n" "system and how you have customized your filesystem.)" -#: shell-novice/_episodes/02-filedir.md:140 +#: shell-novice/_episodes/02-filedir.md:141 msgid "" -"`ls` prints the names of the files and directories in the current directory. \n" +"`ls` prints the names of the files and directories in the current " +"directory. \n" "We can make its output more comprehensible by using the **flag** `-F`\n" "(also known as a **switch** or an **option**) ,\n" -"which tells `ls` to add a marker to file and directory names to indicate what\n" -"they are. A trailing `/` indicates that this is a directory. Depending on your\n" -"settings, it might also use colors to indicate whether each entry is a file or \n" +"which tells `ls` to add a marker to file and directory names to indicate " +"what\n" +"they are. A trailing `/` indicates that this is a directory. Depending on " +"your\n" +"settings, it might also use colors to indicate whether each entry is a file " +"or \n" "directory.\n" "You might recall that we used `ls -F` in an earlier example." msgstr "" -"`ls` prints the names of the files and directories in the current directory. \n" +"`ls` prints the names of the files and directories in the current " +"directory. \n" "We can make its output more comprehensible by using the **flag** `-F`\n" "(also known as a **switch** or an **option**) ,\n" -"which tells `ls` to add a marker to file and directory names to indicate what\n" -"they are. A trailing `/` indicates that this is a directory. Depending on your\n" -"settings, it might also use colors to indicate whether each entry is a file or \n" +"which tells `ls` to add a marker to file and directory names to indicate " +"what\n" +"they are. A trailing `/` indicates that this is a directory. Depending on " +"your\n" +"settings, it might also use colors to indicate whether each entry is a file " +"or \n" "directory.\n" "You might recall that we used `ls -F` in an earlier example." # code block -#: shell-novice/_episodes/02-filedir.md:149 -#: shell-novice/_episodes/02-filedir.md:484 +#: shell-novice/_episodes/02-filedir.md:150 +#: shell-novice/_episodes/02-filedir.md:485 #: shell-novice/_episodes/03-create.md:37 #: shell-novice/_episodes/03-create.md:61 msgid "" @@ -1881,7 +2017,7 @@ msgstr "" "~~~" # code block -#: shell-novice/_episodes/02-filedir.md:154 +#: shell-novice/_episodes/02-filedir.md:155 msgid "" "~~~\n" "Applications/ Documents/ Library/ Music/ Public/\n" @@ -1894,24 +2030,26 @@ msgstr "" "~~~" # header -#: shell-novice/_episodes/02-filedir.md:160 +#: shell-novice/_episodes/02-filedir.md:161 msgid "### Getting help" msgstr "### Getting help" -#: shell-novice/_episodes/02-filedir.md:162 +#: shell-novice/_episodes/02-filedir.md:163 msgid "" -"`ls` has lots of other **flags**. There are two common ways to find out how \n" +"`ls` has lots of other **flags**. There are two common ways to find out " +"how \n" "to use a command and what flags it accepts:" msgstr "" -"`ls` has lots of other **flags**. There are two common ways to find out how \n" +"`ls` has lots of other **flags**. There are two common ways to find out " +"how \n" "to use a command and what flags it accepts:" # ordered list -#: shell-novice/_episodes/02-filedir.md:165 +#: shell-novice/_episodes/02-filedir.md:166 msgid "1. We can pass a `--help` flag to the command, such as:" msgstr "1. We can pass a `--help` flag to the command, such as:" -#: shell-novice/_episodes/02-filedir.md:166 +#: shell-novice/_episodes/02-filedir.md:167 msgid "" " ~~~\n" " $ ls --help\n" @@ -1922,17 +2060,17 @@ msgstr "" " ~~~" # SC/DC Template label -#: shell-novice/_episodes/02-filedir.md:169 -#: shell-novice/_episodes/02-filedir.md:175 shell-novice/_extras/guide.md:210 +#: shell-novice/_episodes/02-filedir.md:170 +#: shell-novice/_episodes/02-filedir.md:176 shell-novice/_extras/guide.md:216 msgid " {: .bash}" msgstr " {: .bash}" # ordered list -#: shell-novice/_episodes/02-filedir.md:171 +#: shell-novice/_episodes/02-filedir.md:172 msgid "2. We can read its manual with `man`, such as:" msgstr "2. We can read its manual with `man`, such as:" -#: shell-novice/_episodes/02-filedir.md:172 +#: shell-novice/_episodes/02-filedir.md:173 msgid "" " ~~~\n" " $ man ls \n" @@ -1942,49 +2080,57 @@ msgstr "" " $ man ls \n" " ~~~" -#: shell-novice/_episodes/02-filedir.md:177 +#: shell-novice/_episodes/02-filedir.md:178 msgid "" -"If you use a Mac, or Git for Windows, you might find that only one of these works \n" +"If you use a Mac, or Git for Windows, you might find that only one of these " +"works \n" "(probably `man` on Mac and `--help` in Windows). We'll describe both ways." msgstr "" -"If you use a Mac, or Git for Windows, you might find that only one of these works \n" +"If you use a Mac, or Git for Windows, you might find that only one of these " +"works \n" "(probably `man` on Mac and `--help` in Windows). We'll describe both ways." -#: shell-novice/_episodes/02-filedir.md:180 +#: shell-novice/_episodes/02-filedir.md:181 msgid "" -"Of course there is a third way: searching the internet via your web browser. \n" -"When using internet search, including the phrase `unix man page` in your search\n" +"Of course there is a third way: searching the internet via your web " +"browser. \n" +"When using internet search, including the phrase `unix man page` in your " +"search\n" "query will help to find relevant results." msgstr "" -"Of course there is a third way: searching the internet via your web browser. \n" -"When using internet search, including the phrase `unix man page` in your search\n" +"Of course there is a third way: searching the internet via your web " +"browser. \n" +"When using internet search, including the phrase `unix man page` in your " +"search\n" "query will help to find relevant results." # blockquote, which can be cascaded -#: shell-novice/_episodes/02-filedir.md:184 +#: shell-novice/_episodes/02-filedir.md:185 msgid "> ## Manual pages on the web" msgstr "> ## Manual pages on the web" -#: shell-novice/_episodes/02-filedir.md:185 +#: shell-novice/_episodes/02-filedir.md:186 msgid "" ">\n" "> GNU provides links to its\n" "> [manuals](http://www.gnu.org/manual/manual.html) including the\n" -"> [core GNU utilities](http://www.gnu.org/software/coreutils/manual/coreutils.html),\n" +"> [core GNU utilities](http://www.gnu.org/software/coreutils/manual/" +"coreutils.html),\n" "> which covers many commands introduced within this lesson." msgstr "" ">\n" "> GNU provides links to its\n" "> [manuals](http://www.gnu.org/manual/manual.html) including the\n" -"> [core GNU utilities](http://www.gnu.org/software/coreutils/manual/coreutils.html),\n" +"> [core GNU utilities](http://www.gnu.org/software/coreutils/manual/" +"coreutils.html),\n" "> which covers many commands introduced within this lesson." # header -#: shell-novice/_episodes/02-filedir.md:192 +#: shell-novice/_episodes/02-filedir.md:193 msgid "#### The `--help` flag" msgstr "#### The `--help` flag" -#: shell-novice/_episodes/02-filedir.md:194 +#: shell-novice/_episodes/02-filedir.md:195 msgid "" "Many bash commands, and programs that people have written that can be\n" "run from within bash, support a `--help` flag to display more\n" @@ -1995,7 +2141,7 @@ msgstr "" "information on how to use the command or program." # code block -#: shell-novice/_episodes/02-filedir.md:198 +#: shell-novice/_episodes/02-filedir.md:199 msgid "" "~~~\n" "$ ls --help\n" @@ -2006,7 +2152,7 @@ msgstr "" "~~~" # code block -#: shell-novice/_episodes/02-filedir.md:203 +#: shell-novice/_episodes/02-filedir.md:204 msgid "" "~~~\n" "Usage: ls [OPTION]... [FILE]...\n" @@ -2017,19 +2163,25 @@ msgid "" " -a, --all do not ignore entries starting with .\n" " -A, --almost-all do not list implied . and ..\n" " --author with -l, print the author of each file\n" -" -b, --escape print C-style escapes for nongraphic characters\n" -" --block-size=SIZE scale sizes by SIZE before printing them; e.g.,\n" +" -b, --escape print C-style escapes for nongraphic " +"characters\n" +" --block-size=SIZE scale sizes by SIZE before printing them; e." +"g.,\n" " '--block-size=M' prints sizes in units of\n" " 1,048,576 bytes; see SIZE format below\n" " -B, --ignore-backups do not list implied entries ending with ~\n" -" -c with -lt: sort by, and show, ctime (time of last\n" +" -c with -lt: sort by, and show, ctime (time of " +"last\n" " modification of file status information);\n" " with -l: show ctime and sort by name;\n" " otherwise: sort by ctime, newest first\n" " -C list entries by columns\n" -" --color[=WHEN] colorize the output; WHEN can be 'always' (default\n" -" if omitted), 'auto', or 'never'; more info below\n" -" -d, --directory list directories themselves, not their contents\n" +" --color[=WHEN] colorize the output; WHEN can be " +"'always' (default\n" +" if omitted), 'auto', or 'never'; more info " +"below\n" +" -d, --directory list directories themselves, not their " +"contents\n" " -D, --dired generate output designed for Emacs' dired mode\n" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" @@ -2040,58 +2192,73 @@ msgid "" " -g like -l, but do not list owner\n" " --group-directories-first\n" " group directories before files;\n" -" can be augmented with a --sort option, but any\n" +" can be augmented with a --sort option, but " +"any\n" " use of --sort=none (-U) disables grouping\n" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l and/or -s, print human readable sizes\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" " -H, --dereference-command-line\n" -" follow symbolic links listed on the command line\n" +" follow symbolic links listed on the command " +"line\n" " --dereference-command-line-symlink-to-dir\n" " follow each command line symbolic link\n" " that points to a directory\n" -" --hide=PATTERN do not list implied entries matching shell PATTERN\n" +" --hide=PATTERN do not list implied entries matching shell " +"PATTERN\n" " (overridden by -a or -A)\n" -" --indicator-style=WORD append indicator with style WORD to entry names:\n" +" --indicator-style=WORD append indicator with style WORD to entry " +"names:\n" " none (default), slash (-p),\n" " file-type (--file-type), classify (-F)\n" " -i, --inode print the index number of each file\n" -" -I, --ignore=PATTERN do not list implied entries matching shell PATTERN\n" +" -I, --ignore=PATTERN do not list implied entries matching shell " +"PATTERN\n" " -k, --kibibytes default to 1024-byte blocks for disk usage\n" " -l use a long listing format\n" " -L, --dereference when showing file information for a symbolic\n" " link, show information for the file the link\n" " references rather than for the link itself\n" -" -m fill width with a comma separated list of entries\n" +" -m fill width with a comma separated list of " +"entries\n" " -n, --numeric-uid-gid like -l, but list numeric user and group IDs\n" -" -N, --literal print raw entry names (don't treat e.g. control\n" +" -N, --literal print raw entry names (don't treat e.g. " +"control\n" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" " -q, --hide-control-chars print ? instead of nongraphic characters\n" " --show-control-chars show nongraphic characters as-is (the default,\n" -" unless program is 'ls' and output is a terminal)\n" +" unless program is 'ls' and output is a " +"terminal)\n" " -Q, --quote-name enclose entry names in double quotes\n" " --quoting-style=WORD use quoting style WORD for entry names:\n" " literal, locale, shell, shell-always,\n" " shell-escape, shell-escape-always, c, escape\n" " -r, --reverse reverse order while sorting\n" " -R, --recursive list subdirectories recursively\n" -" -s, --size print the allocated size of each file, in blocks\n" +" -s, --size print the allocated size of each file, in " +"blocks\n" " -S sort by file size, largest first\n" -" --sort=WORD sort by WORD instead of name: none (-U), size (-S),\n" +" --sort=WORD sort by WORD instead of name: none (-U), size (-" +"S),\n" " time (-t), version (-v), extension (-X)\n" " --time=WORD with -l, show time as WORD instead of default\n" -" modification time: atime or access or use (-u);\n" -" ctime or status (-c); also use specified time\n" +" modification time: atime or access or use (-" +"u);\n" +" ctime or status (-c); also use specified " +"time\n" " as sort key if --sort=time (newest first)\n" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, or +FORMAT;\n" -" FORMAT is interpreted like in 'date'; if FORMAT\n" -" is FORMAT1FORMAT2, then FORMAT1 applies\n" -" to non-recent files and FORMAT2 to recent files;\n" +" FORMAT is interpreted like in 'date'; if " +"FORMAT\n" +" is FORMAT1FORMAT2, then FORMAT1 " +"applies\n" +" to non-recent files and FORMAT2 to recent " +"files;\n" " if STYLE is prefixed with 'posix-', STYLE\n" " takes effect only outside the POSIX locale\n" " -t sort by modification time, newest first\n" @@ -2105,11 +2272,13 @@ msgid "" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any security context of each file\n" -" -1 list one file per line. Avoid '\\n' with -q or -b\n" +" -1 list one file per line. Avoid '\\n' with -q or " +"-b\n" " --help display this help and exit\n" " --version output version information and exit\n" "\n" -"The SIZE argument is an integer and optional unit (example: 10K is 10*1024).\n" +"The SIZE argument is an integer and optional unit (example: 10K is " +"10*1024).\n" "Units are K,M,G,T,P,E,Z,Y (powers of 1024) or KB,MB,... (powers of 1000).\n" "\n" "Using color to distinguish file types is disabled both by default and\n" @@ -2136,19 +2305,25 @@ msgstr "" " -a, --all do not ignore entries starting with .\n" " -A, --almost-all do not list implied . and ..\n" " --author with -l, print the author of each file\n" -" -b, --escape print C-style escapes for nongraphic characters\n" -" --block-size=SIZE scale sizes by SIZE before printing them; e.g.,\n" +" -b, --escape print C-style escapes for nongraphic " +"characters\n" +" --block-size=SIZE scale sizes by SIZE before printing them; e." +"g.,\n" " '--block-size=M' prints sizes in units of\n" " 1,048,576 bytes; see SIZE format below\n" " -B, --ignore-backups do not list implied entries ending with ~\n" -" -c with -lt: sort by, and show, ctime (time of last\n" +" -c with -lt: sort by, and show, ctime (time of " +"last\n" " modification of file status information);\n" " with -l: show ctime and sort by name;\n" " otherwise: sort by ctime, newest first\n" " -C list entries by columns\n" -" --color[=WHEN] colorize the output; WHEN can be 'always' (default\n" -" if omitted), 'auto', or 'never'; more info below\n" -" -d, --directory list directories themselves, not their contents\n" +" --color[=WHEN] colorize the output; WHEN can be " +"'always' (default\n" +" if omitted), 'auto', or 'never'; more info " +"below\n" +" -d, --directory list directories themselves, not their " +"contents\n" " -D, --dired generate output designed for Emacs' dired mode\n" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" @@ -2159,58 +2334,73 @@ msgstr "" " -g like -l, but do not list owner\n" " --group-directories-first\n" " group directories before files;\n" -" can be augmented with a --sort option, but any\n" +" can be augmented with a --sort option, but " +"any\n" " use of --sort=none (-U) disables grouping\n" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l and/or -s, print human readable sizes\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" " -H, --dereference-command-line\n" -" follow symbolic links listed on the command line\n" +" follow symbolic links listed on the command " +"line\n" " --dereference-command-line-symlink-to-dir\n" " follow each command line symbolic link\n" " that points to a directory\n" -" --hide=PATTERN do not list implied entries matching shell PATTERN\n" +" --hide=PATTERN do not list implied entries matching shell " +"PATTERN\n" " (overridden by -a or -A)\n" -" --indicator-style=WORD append indicator with style WORD to entry names:\n" +" --indicator-style=WORD append indicator with style WORD to entry " +"names:\n" " none (default), slash (-p),\n" " file-type (--file-type), classify (-F)\n" " -i, --inode print the index number of each file\n" -" -I, --ignore=PATTERN do not list implied entries matching shell PATTERN\n" +" -I, --ignore=PATTERN do not list implied entries matching shell " +"PATTERN\n" " -k, --kibibytes default to 1024-byte blocks for disk usage\n" " -l use a long listing format\n" " -L, --dereference when showing file information for a symbolic\n" " link, show information for the file the link\n" " references rather than for the link itself\n" -" -m fill width with a comma separated list of entries\n" +" -m fill width with a comma separated list of " +"entries\n" " -n, --numeric-uid-gid like -l, but list numeric user and group IDs\n" -" -N, --literal print raw entry names (don't treat e.g. control\n" +" -N, --literal print raw entry names (don't treat e.g. " +"control\n" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" " -q, --hide-control-chars print ? instead of nongraphic characters\n" " --show-control-chars show nongraphic characters as-is (the default,\n" -" unless program is 'ls' and output is a terminal)\n" +" unless program is 'ls' and output is a " +"terminal)\n" " -Q, --quote-name enclose entry names in double quotes\n" " --quoting-style=WORD use quoting style WORD for entry names:\n" " literal, locale, shell, shell-always,\n" " shell-escape, shell-escape-always, c, escape\n" " -r, --reverse reverse order while sorting\n" " -R, --recursive list subdirectories recursively\n" -" -s, --size print the allocated size of each file, in blocks\n" +" -s, --size print the allocated size of each file, in " +"blocks\n" " -S sort by file size, largest first\n" -" --sort=WORD sort by WORD instead of name: none (-U), size (-S),\n" +" --sort=WORD sort by WORD instead of name: none (-U), size (-" +"S),\n" " time (-t), version (-v), extension (-X)\n" " --time=WORD with -l, show time as WORD instead of default\n" -" modification time: atime or access or use (-u);\n" -" ctime or status (-c); also use specified time\n" +" modification time: atime or access or use (-" +"u);\n" +" ctime or status (-c); also use specified " +"time\n" " as sort key if --sort=time (newest first)\n" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, or +FORMAT;\n" -" FORMAT is interpreted like in 'date'; if FORMAT\n" -" is FORMAT1FORMAT2, then FORMAT1 applies\n" -" to non-recent files and FORMAT2 to recent files;\n" +" FORMAT is interpreted like in 'date'; if " +"FORMAT\n" +" is FORMAT1FORMAT2, then FORMAT1 " +"applies\n" +" to non-recent files and FORMAT2 to recent " +"files;\n" " if STYLE is prefixed with 'posix-', STYLE\n" " takes effect only outside the POSIX locale\n" " -t sort by modification time, newest first\n" @@ -2224,11 +2414,13 @@ msgstr "" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any security context of each file\n" -" -1 list one file per line. Avoid '\\n' with -q or -b\n" +" -1 list one file per line. Avoid '\\n' with -q or " +"-b\n" " --help display this help and exit\n" " --version output version information and exit\n" "\n" -"The SIZE argument is an integer and optional unit (example: 10K is 10*1024).\n" +"The SIZE argument is an integer and optional unit (example: 10K is " +"10*1024).\n" "Units are K,M,G,T,P,E,Z,Y (powers of 1024) or KB,MB,... (powers of 1000).\n" "\n" "Using color to distinguish file types is disabled both by default and\n" @@ -2247,21 +2439,25 @@ msgstr "" "~~~" # blockquote, which can be cascaded -#: shell-novice/_episodes/02-filedir.md:323 +#: shell-novice/_episodes/02-filedir.md:324 msgid "> ## Unsupported command-line options" msgstr "> ## Unsupported command-line options" # blockquote, which can be cascaded -#: shell-novice/_episodes/02-filedir.md:324 -msgid "> If you try to use an option (flag) that is not supported, `ls` and other programs" -msgstr "> If you try to use an option (flag) that is not supported, `ls` and other programs" +#: shell-novice/_episodes/02-filedir.md:325 +msgid "" +"> If you try to use an option (flag) that is not supported, `ls` and other " +"programs" +msgstr "" +"> If you try to use an option (flag) that is not supported, `ls` and other " +"programs" # blockquote, which can be cascaded -#: shell-novice/_episodes/02-filedir.md:325 +#: shell-novice/_episodes/02-filedir.md:326 msgid "> will usually print an error message similar to this:" msgstr "> will usually print an error message similar to this:" -#: shell-novice/_episodes/02-filedir.md:326 +#: shell-novice/_episodes/02-filedir.md:327 msgid "" ">\n" "> ~~~\n" @@ -2286,16 +2482,16 @@ msgstr "" "> ~~~" # SC/DC Template label -#: shell-novice/_episodes/02-filedir.md:336 +#: shell-novice/_episodes/02-filedir.md:337 msgid "> {: .error}" msgstr "> {: .error}" # header -#: shell-novice/_episodes/02-filedir.md:339 +#: shell-novice/_episodes/02-filedir.md:340 msgid "#### The `man` command" msgstr "#### The `man` command" -#: shell-novice/_episodes/02-filedir.md:341 +#: shell-novice/_episodes/02-filedir.md:342 msgid "" "The other way to learn about `ls` is to type \n" "~~~\n" @@ -2308,11 +2504,11 @@ msgstr "" "~~~" # SC/DC Template label -#: shell-novice/_episodes/02-filedir.md:345 +#: shell-novice/_episodes/02-filedir.md:346 msgid "{: .bash}" msgstr "{: .bash}" -#: shell-novice/_episodes/02-filedir.md:347 +#: shell-novice/_episodes/02-filedir.md:348 msgid "" "This will turn your terminal into a page with a description \n" "of the `ls` command and its options and, if you're lucky, some examples\n" @@ -2322,7 +2518,7 @@ msgstr "" "of the `ls` command and its options and, if you're lucky, some examples\n" "of how to use it." -#: shell-novice/_episodes/02-filedir.md:351 +#: shell-novice/_episodes/02-filedir.md:352 msgid "" "To navigate through the `man` pages,\n" "you may use the up and down arrow keys to move line-by-line,\n" @@ -2336,49 +2532,59 @@ msgstr "" "To search for a character or word in the `man` pages, \n" "use \"/\" followed by the character or word you are searching for. " -#: shell-novice/_episodes/02-filedir.md:357 +#: shell-novice/_episodes/02-filedir.md:358 msgid "To **quit** the `man` pages, press `q`. " msgstr "To **quit** the `man` pages, press `q`. " # blockquote, which can be cascaded -#: shell-novice/_episodes/02-filedir.md:360 +#: shell-novice/_episodes/02-filedir.md:361 msgid "> ## Exploring More `ls` Flags" msgstr "> ## Exploring More `ls` Flags" -#: shell-novice/_episodes/02-filedir.md:361 +#: shell-novice/_episodes/02-filedir.md:362 msgid "" ">\n" "> What does the command `ls` do when used with the `-l` and `-h` flags?\n" ">\n" -"> Some of its output is about properties that we do not cover in this lesson (such\n" +"> Some of its output is about properties that we do not cover in this lesson " +"(such\n" "> as file permissions and ownership), but the rest should be useful\n" "> nevertheless.\n" ">\n" "> > ## Solution\n" -"> > The `-l` flag makes `ls` use a **l**ong listing format, showing not only\n" -"> > the file/directory names but also additional information such as the file size\n" -"> > and the time of its last modification. The `-h` flag makes the file size\n" -"> > \"**h**uman readable\", i.e. display something like `5.3K` instead of `5369`." +"> > The `-l` flag makes `ls` use a **l**ong listing format, showing not " +"only\n" +"> > the file/directory names but also additional information such as the " +"file size\n" +"> > and the time of its last modification. The `-h` flag makes the file " +"size\n" +"> > \"**h**uman readable\", i.e. display something like `5.3K` instead of " +"`5369`." msgstr "" ">\n" "> What does the command `ls` do when used with the `-l` and `-h` flags?\n" ">\n" -"> Some of its output is about properties that we do not cover in this lesson (such\n" +"> Some of its output is about properties that we do not cover in this lesson " +"(such\n" "> as file permissions and ownership), but the rest should be useful\n" "> nevertheless.\n" ">\n" "> > ## Solution\n" -"> > The `-l` flag makes `ls` use a **l**ong listing format, showing not only\n" -"> > the file/directory names but also additional information such as the file size\n" -"> > and the time of its last modification. The `-h` flag makes the file size\n" -"> > \"**h**uman readable\", i.e. display something like `5.3K` instead of `5369`." +"> > The `-l` flag makes `ls` use a **l**ong listing format, showing not " +"only\n" +"> > the file/directory names but also additional information such as the " +"file size\n" +"> > and the time of its last modification. The `-h` flag makes the file " +"size\n" +"> > \"**h**uman readable\", i.e. display something like `5.3K` instead of " +"`5369`." # SC/DC Template label -#: shell-novice/_episodes/02-filedir.md:373 -#: shell-novice/_episodes/02-filedir.md:387 -#: shell-novice/_episodes/02-filedir.md:706 -#: shell-novice/_episodes/02-filedir.md:727 -#: shell-novice/_episodes/02-filedir.md:753 +#: shell-novice/_episodes/02-filedir.md:374 +#: shell-novice/_episodes/02-filedir.md:388 +#: shell-novice/_episodes/02-filedir.md:707 +#: shell-novice/_episodes/02-filedir.md:728 +#: shell-novice/_episodes/02-filedir.md:754 #: shell-novice/_episodes/03-create.md:226 #: shell-novice/_episodes/03-create.md:324 #: shell-novice/_episodes/03-create.md:471 @@ -2387,17 +2593,17 @@ msgstr "" #: shell-novice/_episodes/03-create.md:650 #: shell-novice/_episodes/03-create.md:691 #: shell-novice/_episodes/03-create.md:740 -#: shell-novice/_episodes/04-pipefilter.md:123 -#: shell-novice/_episodes/04-pipefilter.md:168 -#: shell-novice/_episodes/04-pipefilter.md:263 -#: shell-novice/_episodes/04-pipefilter.md:340 -#: shell-novice/_episodes/04-pipefilter.md:483 -#: shell-novice/_episodes/04-pipefilter.md:604 -#: shell-novice/_episodes/04-pipefilter.md:641 -#: shell-novice/_episodes/04-pipefilter.md:702 -#: shell-novice/_episodes/04-pipefilter.md:733 -#: shell-novice/_episodes/04-pipefilter.md:860 -#: shell-novice/_episodes/04-pipefilter.md:884 +#: shell-novice/_episodes/04-pipefilter.md:128 +#: shell-novice/_episodes/04-pipefilter.md:173 +#: shell-novice/_episodes/04-pipefilter.md:268 +#: shell-novice/_episodes/04-pipefilter.md:345 +#: shell-novice/_episodes/04-pipefilter.md:488 +#: shell-novice/_episodes/04-pipefilter.md:609 +#: shell-novice/_episodes/04-pipefilter.md:646 +#: shell-novice/_episodes/04-pipefilter.md:707 +#: shell-novice/_episodes/04-pipefilter.md:738 +#: shell-novice/_episodes/04-pipefilter.md:865 +#: shell-novice/_episodes/04-pipefilter.md:889 #: shell-novice/_episodes/05-loop.md:186 shell-novice/_episodes/05-loop.md:261 #: shell-novice/_episodes/05-loop.md:282 shell-novice/_episodes/05-loop.md:606 #: shell-novice/_episodes/05-loop.md:633 shell-novice/_episodes/05-loop.md:685 @@ -2408,18 +2614,18 @@ msgstr "" #: shell-novice/_episodes/06-script.md:526 #: shell-novice/_episodes/06-script.md:570 #: shell-novice/_episodes/06-script.md:612 -#: shell-novice/_episodes/07-find.md:249 shell-novice/_episodes/07-find.md:338 -#: shell-novice/_episodes/07-find.md:382 shell-novice/_episodes/07-find.md:605 -#: shell-novice/_episodes/07-find.md:657 shell-novice/_episodes/07-find.md:679 +#: shell-novice/_episodes/07-find.md:252 shell-novice/_episodes/07-find.md:341 +#: shell-novice/_episodes/07-find.md:385 shell-novice/_episodes/07-find.md:608 +#: shell-novice/_episodes/07-find.md:660 shell-novice/_episodes/07-find.md:682 msgid "> {: .solution}" msgstr "> {: .solution}" # SC/DC Template label -#: shell-novice/_episodes/02-filedir.md:374 -#: shell-novice/_episodes/02-filedir.md:388 -#: shell-novice/_episodes/02-filedir.md:707 -#: shell-novice/_episodes/02-filedir.md:728 -#: shell-novice/_episodes/02-filedir.md:754 +#: shell-novice/_episodes/02-filedir.md:375 +#: shell-novice/_episodes/02-filedir.md:389 +#: shell-novice/_episodes/02-filedir.md:708 +#: shell-novice/_episodes/02-filedir.md:729 +#: shell-novice/_episodes/02-filedir.md:755 #: shell-novice/_episodes/03-create.md:227 #: shell-novice/_episodes/03-create.md:325 #: shell-novice/_episodes/03-create.md:472 @@ -2428,19 +2634,19 @@ msgstr "> {: .solution}" #: shell-novice/_episodes/03-create.md:651 #: shell-novice/_episodes/03-create.md:692 #: shell-novice/_episodes/03-create.md:741 -#: shell-novice/_episodes/04-pipefilter.md:124 -#: shell-novice/_episodes/04-pipefilter.md:169 -#: shell-novice/_episodes/04-pipefilter.md:239 -#: shell-novice/_episodes/04-pipefilter.md:264 -#: shell-novice/_episodes/04-pipefilter.md:341 -#: shell-novice/_episodes/04-pipefilter.md:484 -#: shell-novice/_episodes/04-pipefilter.md:605 -#: shell-novice/_episodes/04-pipefilter.md:642 -#: shell-novice/_episodes/04-pipefilter.md:667 -#: shell-novice/_episodes/04-pipefilter.md:703 -#: shell-novice/_episodes/04-pipefilter.md:734 -#: shell-novice/_episodes/04-pipefilter.md:861 -#: shell-novice/_episodes/04-pipefilter.md:885 +#: shell-novice/_episodes/04-pipefilter.md:129 +#: shell-novice/_episodes/04-pipefilter.md:174 +#: shell-novice/_episodes/04-pipefilter.md:244 +#: shell-novice/_episodes/04-pipefilter.md:269 +#: shell-novice/_episodes/04-pipefilter.md:346 +#: shell-novice/_episodes/04-pipefilter.md:489 +#: shell-novice/_episodes/04-pipefilter.md:610 +#: shell-novice/_episodes/04-pipefilter.md:647 +#: shell-novice/_episodes/04-pipefilter.md:672 +#: shell-novice/_episodes/04-pipefilter.md:708 +#: shell-novice/_episodes/04-pipefilter.md:739 +#: shell-novice/_episodes/04-pipefilter.md:866 +#: shell-novice/_episodes/04-pipefilter.md:890 #: shell-novice/_episodes/05-loop.md:187 shell-novice/_episodes/05-loop.md:283 #: shell-novice/_episodes/05-loop.md:607 shell-novice/_episodes/05-loop.md:634 #: shell-novice/_episodes/05-loop.md:686 shell-novice/_episodes/05-loop.md:713 @@ -2450,42 +2656,52 @@ msgstr "> {: .solution}" #: shell-novice/_episodes/06-script.md:527 #: shell-novice/_episodes/06-script.md:571 #: shell-novice/_episodes/06-script.md:613 -#: shell-novice/_episodes/07-find.md:250 shell-novice/_episodes/07-find.md:339 -#: shell-novice/_episodes/07-find.md:383 shell-novice/_episodes/07-find.md:606 -#: shell-novice/_episodes/07-find.md:658 shell-novice/_episodes/07-find.md:680 +#: shell-novice/_episodes/07-find.md:253 shell-novice/_episodes/07-find.md:342 +#: shell-novice/_episodes/07-find.md:386 shell-novice/_episodes/07-find.md:609 +#: shell-novice/_episodes/07-find.md:661 shell-novice/_episodes/07-find.md:683 msgid "{: .challenge}" msgstr "{: .challenge}" # blockquote, which can be cascaded -#: shell-novice/_episodes/02-filedir.md:376 +#: shell-novice/_episodes/02-filedir.md:377 msgid "> ## Listing Recursively and By Time" msgstr "> ## Listing Recursively and By Time" -#: shell-novice/_episodes/02-filedir.md:377 +#: shell-novice/_episodes/02-filedir.md:378 msgid "" ">\n" -"> The command `ls -R` lists the contents of directories recursively, i.e., lists\n" -"> their sub-directories, sub-sub-directories, and so on at each level. The command\n" -"> `ls -t` lists things by time of last change, with most recently changed files or\n" +"> The command `ls -R` lists the contents of directories recursively, i.e., " +"lists\n" +"> their sub-directories, sub-sub-directories, and so on at each level. The " +"command\n" +"> `ls -t` lists things by time of last change, with most recently changed " +"files or\n" "> directories first.\n" -"> In what order does `ls -R -t` display things? Hint: `ls -l` uses a long listing\n" +"> In what order does `ls -R -t` display things? Hint: `ls -l` uses a long " +"listing\n" "> format to view timestamps.\n" ">\n" "> > ## Solution\n" -"> > The files/directories in each directory are sorted by time of last change." +"> > The files/directories in each directory are sorted by time of last " +"change." msgstr "" ">\n" -"> The command `ls -R` lists the contents of directories recursively, i.e., lists\n" -"> their sub-directories, sub-sub-directories, and so on at each level. The command\n" -"> `ls -t` lists things by time of last change, with most recently changed files or\n" +"> The command `ls -R` lists the contents of directories recursively, i.e., " +"lists\n" +"> their sub-directories, sub-sub-directories, and so on at each level. The " +"command\n" +"> `ls -t` lists things by time of last change, with most recently changed " +"files or\n" "> directories first.\n" -"> In what order does `ls -R -t` display things? Hint: `ls -l` uses a long listing\n" +"> In what order does `ls -R -t` display things? Hint: `ls -l` uses a long " +"listing\n" "> format to view timestamps.\n" ">\n" "> > ## Solution\n" -"> > The files/directories in each directory are sorted by time of last change." +"> > The files/directories in each directory are sorted by time of last " +"change." -#: shell-novice/_episodes/02-filedir.md:390 +#: shell-novice/_episodes/02-filedir.md:391 msgid "" "Here,\n" "we can see that our home directory contains mostly **sub-directories**.\n" @@ -2505,16 +2721,18 @@ msgstr "" "the shell thinks we're trying to run a command called `ls-F`,\n" "which doesn't exist." -#: shell-novice/_episodes/02-filedir.md:399 +#: shell-novice/_episodes/02-filedir.md:400 msgid "" -"We can also use `ls` to see the contents of a different directory. Let's take a\n" +"We can also use `ls` to see the contents of a different directory. Let's " +"take a\n" "look at our `Desktop` directory by running `ls -F Desktop`,\n" "i.e.,\n" "the command `ls` with the `-F` **flag** and the **argument** `Desktop`.\n" "The argument `Desktop` tells `ls` that\n" "we want a listing of something other than our current working directory:" msgstr "" -"We can also use `ls` to see the contents of a different directory. Let's take a\n" +"We can also use `ls` to see the contents of a different directory. Let's " +"take a\n" "look at our `Desktop` directory by running `ls -F Desktop`,\n" "i.e.,\n" "the command `ls` with the `-F` **flag** and the **argument** `Desktop`.\n" @@ -2522,7 +2740,7 @@ msgstr "" "we want a listing of something other than our current working directory:" # code block -#: shell-novice/_episodes/02-filedir.md:406 +#: shell-novice/_episodes/02-filedir.md:407 msgid "" "~~~\n" "$ ls -F Desktop\n" @@ -2533,7 +2751,7 @@ msgstr "" "~~~" # code block -#: shell-novice/_episodes/02-filedir.md:411 +#: shell-novice/_episodes/02-filedir.md:412 msgid "" "~~~\n" "data-shell/\n" @@ -2543,7 +2761,7 @@ msgstr "" "data-shell/\n" "~~~" -#: shell-novice/_episodes/02-filedir.md:416 +#: shell-novice/_episodes/02-filedir.md:417 msgid "" "Your output should be a list of all the files and sub-directories on your\n" "Desktop, including the `data-shell` directory you downloaded at\n" @@ -2555,23 +2773,27 @@ msgstr "" "the start of the lesson. Take a look at your Desktop to confirm that\n" "your output is accurate. " -#: shell-novice/_episodes/02-filedir.md:421 +#: shell-novice/_episodes/02-filedir.md:422 msgid "" -"As you may now see, using a bash shell is strongly dependent on the idea that\n" +"As you may now see, using a bash shell is strongly dependent on the idea " +"that\n" "your files are organized in a hierarchical file system.\n" -"Organizing things hierarchically in this way helps us keep track of our work:\n" +"Organizing things hierarchically in this way helps us keep track of our " +"work:\n" "it's possible to put hundreds of files in our home directory,\n" "just as it's possible to pile hundreds of printed papers on our desk,\n" "but it's a self-defeating strategy." msgstr "" -"As you may now see, using a bash shell is strongly dependent on the idea that\n" +"As you may now see, using a bash shell is strongly dependent on the idea " +"that\n" "your files are organized in a hierarchical file system.\n" -"Organizing things hierarchically in this way helps us keep track of our work:\n" +"Organizing things hierarchically in this way helps us keep track of our " +"work:\n" "it's possible to put hundreds of files in our home directory,\n" "just as it's possible to pile hundreds of printed papers on our desk,\n" "but it's a self-defeating strategy." -#: shell-novice/_episodes/02-filedir.md:428 +#: shell-novice/_episodes/02-filedir.md:429 msgid "" "Now that we know the `data-shell` directory is located on our Desktop, we\n" "can do two things. " @@ -2579,16 +2801,18 @@ msgstr "" "Now that we know the `data-shell` directory is located on our Desktop, we\n" "can do two things. " -#: shell-novice/_episodes/02-filedir.md:431 +#: shell-novice/_episodes/02-filedir.md:432 msgid "" -"First, we can look at its contents, using the same strategy as before, passing\n" +"First, we can look at its contents, using the same strategy as before, " +"passing\n" "a directory name to `ls`:" msgstr "" -"First, we can look at its contents, using the same strategy as before, passing\n" +"First, we can look at its contents, using the same strategy as before, " +"passing\n" "a directory name to `ls`:" # code block -#: shell-novice/_episodes/02-filedir.md:434 +#: shell-novice/_episodes/02-filedir.md:435 msgid "" "~~~\n" "$ ls -F Desktop/data-shell\n" @@ -2599,7 +2823,7 @@ msgstr "" "~~~" # code block -#: shell-novice/_episodes/02-filedir.md:439 +#: shell-novice/_episodes/02-filedir.md:440 msgid "" "~~~\n" "creatures/ molecules/ notes.txt solar.pdf\n" @@ -2611,7 +2835,7 @@ msgstr "" "data/ north-pacific-gyre/ pizza.cfg writing/\n" "~~~" -#: shell-novice/_episodes/02-filedir.md:445 +#: shell-novice/_episodes/02-filedir.md:446 msgid "" "Second, we can actually change our location to a different directory, so\n" "we are no longer located in\n" @@ -2621,7 +2845,7 @@ msgstr "" "we are no longer located in\n" "our home directory. " -#: shell-novice/_episodes/02-filedir.md:449 +#: shell-novice/_episodes/02-filedir.md:450 msgid "" "The command to change locations is `cd` followed by a\n" "directory name to change our working directory.\n" @@ -2637,7 +2861,7 @@ msgstr "" "the command doesn't change the directory,\n" "it changes the shell's idea of what directory we are in." -#: shell-novice/_episodes/02-filedir.md:456 +#: shell-novice/_episodes/02-filedir.md:457 msgid "" "Let's say we want to move to the `data` directory we saw above. We can\n" "use the following series of commands to get there:" @@ -2646,7 +2870,7 @@ msgstr "" "use the following series of commands to get there:" # code block -#: shell-novice/_episodes/02-filedir.md:459 +#: shell-novice/_episodes/02-filedir.md:460 msgid "" "~~~\n" "$ cd Desktop\n" @@ -2660,18 +2884,22 @@ msgstr "" "$ cd data\n" "~~~" -#: shell-novice/_episodes/02-filedir.md:466 +#: shell-novice/_episodes/02-filedir.md:467 msgid "" -"These commands will move us from our home directory onto our Desktop, then into\n" -"the `data-shell` directory, then into the `data` directory. `cd` doesn't print anything,\n" +"These commands will move us from our home directory onto our Desktop, then " +"into\n" +"the `data-shell` directory, then into the `data` directory. `cd` doesn't " +"print anything,\n" "but if we run `pwd` after it, we can see that we are now\n" "in `/Users/nelle/Desktop/data-shell/data`.\n" "If we run `ls` without arguments now,\n" "it lists the contents of `/Users/nelle/Desktop/data-shell/data`,\n" "because that's where we now are:" msgstr "" -"These commands will move us from our home directory onto our Desktop, then into\n" -"the `data-shell` directory, then into the `data` directory. `cd` doesn't print anything,\n" +"These commands will move us from our home directory onto our Desktop, then " +"into\n" +"the `data-shell` directory, then into the `data` directory. `cd` doesn't " +"print anything,\n" "but if we run `pwd` after it, we can see that we are now\n" "in `/Users/nelle/Desktop/data-shell/data`.\n" "If we run `ls` without arguments now,\n" @@ -2679,8 +2907,8 @@ msgstr "" "because that's where we now are:" # code block -#: shell-novice/_episodes/02-filedir.md:479 -#: shell-novice/_episodes/02-filedir.md:652 +#: shell-novice/_episodes/02-filedir.md:480 +#: shell-novice/_episodes/02-filedir.md:653 msgid "" "~~~\n" "/Users/nelle/Desktop/data-shell/data\n" @@ -2691,7 +2919,7 @@ msgstr "" "~~~" # code block -#: shell-novice/_episodes/02-filedir.md:489 +#: shell-novice/_episodes/02-filedir.md:490 msgid "" "~~~\n" "amino-acids.txt elements/ pdb/\t salmon.txt\n" @@ -2703,7 +2931,7 @@ msgstr "" "animals.txt morse.txt planets.txt sunspot.txt\n" "~~~" -#: shell-novice/_episodes/02-filedir.md:495 +#: shell-novice/_episodes/02-filedir.md:496 msgid "" "We now know how to go down the directory tree, but\n" "how do we go up? We might try the following:" @@ -2712,7 +2940,7 @@ msgstr "" "how do we go up? We might try the following:" # code block -#: shell-novice/_episodes/02-filedir.md:498 +#: shell-novice/_episodes/02-filedir.md:499 msgid "" "~~~\n" "$ cd data-shell\n" @@ -2723,7 +2951,7 @@ msgstr "" "~~~" # code block -#: shell-novice/_episodes/02-filedir.md:503 +#: shell-novice/_episodes/02-filedir.md:504 msgid "" "~~~\n" "-bash: cd: data-shell: No such file or directory\n" @@ -2734,17 +2962,17 @@ msgstr "" "~~~" # SC/DC Template label -#: shell-novice/_episodes/02-filedir.md:506 +#: shell-novice/_episodes/02-filedir.md:507 #: shell-novice/_episodes/03-create.md:299 #: shell-novice/_episodes/03-create.md:505 shell-novice/_episodes/05-loop.md:53 msgid "{: .error}" msgstr "{: .error}" -#: shell-novice/_episodes/02-filedir.md:508 +#: shell-novice/_episodes/02-filedir.md:509 msgid "But we get an error! Why is this? " msgstr "But we get an error! Why is this? " -#: shell-novice/_episodes/02-filedir.md:510 +#: shell-novice/_episodes/02-filedir.md:511 msgid "" "With our methods so far,\n" "`cd` can only see sub-directories inside your current directory. There are\n" @@ -2756,7 +2984,7 @@ msgstr "" "different ways to see directories above your current location; we'll start\n" "with the simplest. " -#: shell-novice/_episodes/02-filedir.md:515 +#: shell-novice/_episodes/02-filedir.md:516 msgid "" "There is a shortcut in the shell to move up one directory level\n" "that looks like this:" @@ -2765,7 +2993,7 @@ msgstr "" "that looks like this:" # code block -#: shell-novice/_episodes/02-filedir.md:518 +#: shell-novice/_episodes/02-filedir.md:519 #: shell-novice/_episodes/03-create.md:283 msgid "" "~~~\n" @@ -2776,24 +3004,26 @@ msgstr "" "$ cd ..\n" "~~~" -#: shell-novice/_episodes/02-filedir.md:523 +#: shell-novice/_episodes/02-filedir.md:524 msgid "" "`..` is a special directory name meaning\n" "\"the directory containing this one\",\n" "or more succinctly,\n" "the **parent** of the current directory.\n" "Sure enough,\n" -"if we run `pwd` after running `cd ..`, we're back in `/Users/nelle/Desktop/data-shell`:" +"if we run `pwd` after running `cd ..`, we're back in `/Users/nelle/Desktop/" +"data-shell`:" msgstr "" "`..` is a special directory name meaning\n" "\"the directory containing this one\",\n" "or more succinctly,\n" "the **parent** of the current directory.\n" "Sure enough,\n" -"if we run `pwd` after running `cd ..`, we're back in `/Users/nelle/Desktop/data-shell`:" +"if we run `pwd` after running `cd ..`, we're back in `/Users/nelle/Desktop/" +"data-shell`:" # code block -#: shell-novice/_episodes/02-filedir.md:535 +#: shell-novice/_episodes/02-filedir.md:536 #: shell-novice/_episodes/03-create.md:32 #: shell-novice/_episodes/03-create.md:355 msgid "" @@ -2805,16 +3035,18 @@ msgstr "" "/Users/nelle/Desktop/data-shell\n" "~~~" -#: shell-novice/_episodes/02-filedir.md:540 +#: shell-novice/_episodes/02-filedir.md:541 msgid "" -"The special directory `..` doesn't usually show up when we run `ls`. If we want\n" +"The special directory `..` doesn't usually show up when we run `ls`. If we " +"want\n" "to display it, we can give `ls` the `-a` flag:" msgstr "" -"The special directory `..` doesn't usually show up when we run `ls`. If we want\n" +"The special directory `..` doesn't usually show up when we run `ls`. If we " +"want\n" "to display it, we can give `ls` the `-a` flag:" # code block -#: shell-novice/_episodes/02-filedir.md:543 +#: shell-novice/_episodes/02-filedir.md:544 msgid "" "~~~\n" "$ ls -F -a\n" @@ -2825,7 +3057,7 @@ msgstr "" "~~~" # code block -#: shell-novice/_episodes/02-filedir.md:548 +#: shell-novice/_episodes/02-filedir.md:549 msgid "" "~~~\n" "./ .bash_profile data/ north-pacific-gyre/ pizza.cfg thesis/\n" @@ -2837,11 +3069,12 @@ msgstr "" "../ creatures/ molecules/ notes.txt solar.pdf writing/\n" "~~~" -#: shell-novice/_episodes/02-filedir.md:554 +#: shell-novice/_episodes/02-filedir.md:555 msgid "" "`-a` stands for \"show all\";\n" "it forces `ls` to show us file and directory names that begin with `.`,\n" -"such as `..` (which, if we're in `/Users/nelle`, refers to the `/Users` directory)\n" +"such as `..` (which, if we're in `/Users/nelle`, refers to the `/Users` " +"directory)\n" "As you can see,\n" "it also displays another special directory that's just called `.`,\n" "which means \"the current working directory\".\n" @@ -2850,14 +3083,15 @@ msgid "" msgstr "" "`-a` stands for \"show all\";\n" "it forces `ls` to show us file and directory names that begin with `.`,\n" -"such as `..` (which, if we're in `/Users/nelle`, refers to the `/Users` directory)\n" +"such as `..` (which, if we're in `/Users/nelle`, refers to the `/Users` " +"directory)\n" "As you can see,\n" "it also displays another special directory that's just called `.`,\n" "which means \"the current working directory\".\n" "It may seem redundant to have a name for it,\n" "but we'll see some uses for it soon." -#: shell-novice/_episodes/02-filedir.md:563 +#: shell-novice/_episodes/02-filedir.md:564 msgid "" "Note that in most command line tools, multiple flags can be combined \n" "with a single `-` and no spaces between the flags: `ls -F -a` is \n" @@ -2868,36 +3102,44 @@ msgstr "" "equivalent to `ls -Fa`." # blockquote, which can be cascaded -#: shell-novice/_episodes/02-filedir.md:567 +#: shell-novice/_episodes/02-filedir.md:568 msgid "> ## Other Hidden Files" msgstr "> ## Other Hidden Files" -#: shell-novice/_episodes/02-filedir.md:568 +#: shell-novice/_episodes/02-filedir.md:569 msgid "" ">\n" -"> In addition to the hidden directories `..` and `.`, you may also see a file\n" +"> In addition to the hidden directories `..` and `.`, you may also see a " +"file\n" "> called `.bash_profile`. This file usually contains shell configuration\n" "> settings. You may also see other files and directories beginning\n" -"> with `.`. These are usually files and directories that are used to configure\n" -"> different programs on your computer. The prefix `.` is used to prevent these\n" -"> configuration files from cluttering the terminal when a standard `ls` command\n" +"> with `.`. These are usually files and directories that are used to " +"configure\n" +"> different programs on your computer. The prefix `.` is used to prevent " +"these\n" +"> configuration files from cluttering the terminal when a standard `ls` " +"command\n" "> is used." msgstr "" ">\n" -"> In addition to the hidden directories `..` and `.`, you may also see a file\n" +"> In addition to the hidden directories `..` and `.`, you may also see a " +"file\n" "> called `.bash_profile`. This file usually contains shell configuration\n" "> settings. You may also see other files and directories beginning\n" -"> with `.`. These are usually files and directories that are used to configure\n" -"> different programs on your computer. The prefix `.` is used to prevent these\n" -"> configuration files from cluttering the terminal when a standard `ls` command\n" +"> with `.`. These are usually files and directories that are used to " +"configure\n" +"> different programs on your computer. The prefix `.` is used to prevent " +"these\n" +"> configuration files from cluttering the terminal when a standard `ls` " +"command\n" "> is used." # blockquote, which can be cascaded -#: shell-novice/_episodes/02-filedir.md:578 +#: shell-novice/_episodes/02-filedir.md:579 msgid "> ## Orthogonality" msgstr "> ## Orthogonality" -#: shell-novice/_episodes/02-filedir.md:579 +#: shell-novice/_episodes/02-filedir.md:580 msgid "" ">\n" "> The special names `.` and `..` don't belong to `cd`;\n" @@ -2905,7 +3147,8 @@ msgid "" "> For example,\n" "> if we are in `/Users/nelle/data`,\n" "> the command `ls ..` will give us a listing of `/Users/nelle`.\n" -"> When the meanings of the parts are the same no matter how they're combined,\n" +"> When the meanings of the parts are the same no matter how they're " +"combined,\n" "> programmers say they are **orthogonal**:\n" "> Orthogonal systems tend to be easier for people to learn\n" "> because there are fewer special cases and exceptions to keep track of." @@ -2916,25 +3159,30 @@ msgstr "" "> For example,\n" "> if we are in `/Users/nelle/data`,\n" "> the command `ls ..` will give us a listing of `/Users/nelle`.\n" -"> When the meanings of the parts are the same no matter how they're combined,\n" +"> When the meanings of the parts are the same no matter how they're " +"combined,\n" "> programmers say they are **orthogonal**:\n" "> Orthogonal systems tend to be easier for people to learn\n" "> because there are fewer special cases and exceptions to keep track of." -#: shell-novice/_episodes/02-filedir.md:591 +#: shell-novice/_episodes/02-filedir.md:592 msgid "" -"These then, are the basic commands for navigating the filesystem on your computer:\n" -"`pwd`, `ls` and `cd`. Let's explore some variations on those commands. What happens\n" +"These then, are the basic commands for navigating the filesystem on your " +"computer:\n" +"`pwd`, `ls` and `cd`. Let's explore some variations on those commands. " +"What happens\n" "if you type `cd` on its own, without giving\n" "a directory? " msgstr "" -"These then, are the basic commands for navigating the filesystem on your computer:\n" -"`pwd`, `ls` and `cd`. Let's explore some variations on those commands. What happens\n" +"These then, are the basic commands for navigating the filesystem on your " +"computer:\n" +"`pwd`, `ls` and `cd`. Let's explore some variations on those commands. " +"What happens\n" "if you type `cd` on its own, without giving\n" "a directory? " # code block -#: shell-novice/_episodes/02-filedir.md:596 +#: shell-novice/_episodes/02-filedir.md:597 msgid "" "~~~\n" "$ cd\n" @@ -2944,30 +3192,34 @@ msgstr "" "$ cd\n" "~~~" -#: shell-novice/_episodes/02-filedir.md:601 +#: shell-novice/_episodes/02-filedir.md:602 msgid "How can you check what happened? `pwd` gives us the answer! " msgstr "How can you check what happened? `pwd` gives us the answer! " -#: shell-novice/_episodes/02-filedir.md:613 +#: shell-novice/_episodes/02-filedir.md:614 msgid "" -"It turns out that `cd` without an argument will return you to your home directory,\n" +"It turns out that `cd` without an argument will return you to your home " +"directory,\n" "which is great if you've gotten lost in your own filesystem. " msgstr "" -"It turns out that `cd` without an argument will return you to your home directory,\n" +"It turns out that `cd` without an argument will return you to your home " +"directory,\n" "which is great if you've gotten lost in your own filesystem. " -#: shell-novice/_episodes/02-filedir.md:616 +#: shell-novice/_episodes/02-filedir.md:617 msgid "" -"Let's try returning to the `data` directory from before. Last time, we used\n" +"Let's try returning to the `data` directory from before. Last time, we " +"used\n" "three commands, but we can actually string together the list of directories\n" "to move to `data` in one step:" msgstr "" -"Let's try returning to the `data` directory from before. Last time, we used\n" +"Let's try returning to the `data` directory from before. Last time, we " +"used\n" "three commands, but we can actually string together the list of directories\n" "to move to `data` in one step:" # code block -#: shell-novice/_episodes/02-filedir.md:620 +#: shell-novice/_episodes/02-filedir.md:621 msgid "" "~~~\n" "$ cd Desktop/data-shell/data\n" @@ -2977,33 +3229,41 @@ msgstr "" "$ cd Desktop/data-shell/data\n" "~~~" -#: shell-novice/_episodes/02-filedir.md:625 -msgid "Check that we've moved to the right place by running `pwd` and `ls -F` " -msgstr "Check that we've moved to the right place by running `pwd` and `ls -F` " +#: shell-novice/_episodes/02-filedir.md:626 +msgid "" +"Check that we've moved to the right place by running `pwd` and `ls -F` " +msgstr "" +"Check that we've moved to the right place by running `pwd` and `ls -F` " -#: shell-novice/_episodes/02-filedir.md:627 +#: shell-novice/_episodes/02-filedir.md:628 msgid "" -"If we want to move up one level from the data directory, we could use `cd ..`. But\n" +"If we want to move up one level from the data directory, we could use `cd .." +"`. But\n" "there is another way to move to any directory, regardless of your\n" "current location. " msgstr "" -"If we want to move up one level from the data directory, we could use `cd ..`. But\n" +"If we want to move up one level from the data directory, we could use `cd .." +"`. But\n" "there is another way to move to any directory, regardless of your\n" "current location. " -#: shell-novice/_episodes/02-filedir.md:631 +#: shell-novice/_episodes/02-filedir.md:632 msgid "" -"So far, when specifying directory names, or even a directory path (as above),\n" -"we have been using **relative paths**. When you use a relative path with a command\n" +"So far, when specifying directory names, or even a directory path (as " +"above),\n" +"we have been using **relative paths**. When you use a relative path with a " +"command\n" "like `ls` or `cd`, it tries to find that location from where we are,\n" "rather than from the root of the file system. " msgstr "" -"So far, when specifying directory names, or even a directory path (as above),\n" -"we have been using **relative paths**. When you use a relative path with a command\n" +"So far, when specifying directory names, or even a directory path (as " +"above),\n" +"we have been using **relative paths**. When you use a relative path with a " +"command\n" "like `ls` or `cd`, it tries to find that location from where we are,\n" "rather than from the root of the file system. " -#: shell-novice/_episodes/02-filedir.md:636 +#: shell-novice/_episodes/02-filedir.md:637 msgid "" "However, it is possible to specify the **absolute path** to a directory by\n" "including its entire path from the root directory, which is indicated by a\n" @@ -3017,7 +3277,7 @@ msgstr "" "the root of the file system, so it always refers to exactly one directory,\n" "no matter where we are when we run the command." -#: shell-novice/_episodes/02-filedir.md:642 +#: shell-novice/_episodes/02-filedir.md:643 msgid "" "This allows us to move to our `data-shell` directory from anywhere on\n" "the filesystem (including from inside `data`). To find the absolute path\n" @@ -3030,7 +3290,7 @@ msgstr "" "to move to `data-shell`. " # code block -#: shell-novice/_episodes/02-filedir.md:657 +#: shell-novice/_episodes/02-filedir.md:658 msgid "" "~~~\n" "$ cd /Users/nelle/Desktop/data-shell\n" @@ -3040,29 +3300,36 @@ msgstr "" "$ cd /Users/nelle/Desktop/data-shell\n" "~~~" -#: shell-novice/_episodes/02-filedir.md:662 -msgid "Run `pwd` and `ls -F` to ensure that we're in the directory we expect. " -msgstr "Run `pwd` and `ls -F` to ensure that we're in the directory we expect. " +#: shell-novice/_episodes/02-filedir.md:663 +msgid "" +"Run `pwd` and `ls -F` to ensure that we're in the directory we expect. " +msgstr "" +"Run `pwd` and `ls -F` to ensure that we're in the directory we expect. " # blockquote, which can be cascaded -#: shell-novice/_episodes/02-filedir.md:664 +#: shell-novice/_episodes/02-filedir.md:665 msgid "> ## Two More Shortcuts" msgstr "> ## Two More Shortcuts" -#: shell-novice/_episodes/02-filedir.md:665 +#: shell-novice/_episodes/02-filedir.md:666 msgid "" ">\n" "> The shell interprets the character `~` (tilde) at the start of a path to\n" "> mean \"the current user's home directory\". For example, if Nelle's home\n" "> directory is `/Users/nelle`, then `~/data` is equivalent to\n" "> `/Users/nelle/data`. This only works if it is the first character in the\n" -"> path: `here/there/~/elsewhere` is *not* `here/there/Users/nelle/elsewhere`.\n" +"> path: `here/there/~/elsewhere` is *not* `here/there/Users/nelle/" +"elsewhere`.\n" ">\n" -"> Another shortcut is the `-` (dash) character. `cd` will translate `-` into\n" -"> *the previous directory I was in*, which is faster than having to remember,\n" +"> Another shortcut is the `-` (dash) character. `cd` will translate `-` " +"into\n" +"> *the previous directory I was in*, which is faster than having to " +"remember,\n" "> then type, the full path. This is a *very* efficient way of moving back\n" -"> and forth between directories. The difference between `cd ..` and `cd -` is\n" -"> that the former brings you *up*, while the latter brings you *back*. You can\n" +"> and forth between directories. The difference between `cd ..` and `cd -` " +"is\n" +"> that the former brings you *up*, while the latter brings you *back*. You " +"can\n" "> think of it as the *Last Channel* button on a TV remote." msgstr "" ">\n" @@ -3070,25 +3337,31 @@ msgstr "" "> mean \"the current user's home directory\". For example, if Nelle's home\n" "> directory is `/Users/nelle`, then `~/data` is equivalent to\n" "> `/Users/nelle/data`. This only works if it is the first character in the\n" -"> path: `here/there/~/elsewhere` is *not* `here/there/Users/nelle/elsewhere`.\n" +"> path: `here/there/~/elsewhere` is *not* `here/there/Users/nelle/" +"elsewhere`.\n" ">\n" -"> Another shortcut is the `-` (dash) character. `cd` will translate `-` into\n" -"> *the previous directory I was in*, which is faster than having to remember,\n" +"> Another shortcut is the `-` (dash) character. `cd` will translate `-` " +"into\n" +"> *the previous directory I was in*, which is faster than having to " +"remember,\n" "> then type, the full path. This is a *very* efficient way of moving back\n" -"> and forth between directories. The difference between `cd ..` and `cd -` is\n" -"> that the former brings you *up*, while the latter brings you *back*. You can\n" +"> and forth between directories. The difference between `cd ..` and `cd -` " +"is\n" +"> that the former brings you *up*, while the latter brings you *back*. You " +"can\n" "> think of it as the *Last Channel* button on a TV remote." # blockquote, which can be cascaded -#: shell-novice/_episodes/02-filedir.md:680 +#: shell-novice/_episodes/02-filedir.md:681 msgid "> ## Absolute vs Relative Paths" msgstr "> ## Absolute vs Relative Paths" -#: shell-novice/_episodes/02-filedir.md:681 +#: shell-novice/_episodes/02-filedir.md:682 msgid "" ">\n" "> Starting from `/Users/amanda/data/`,\n" -"> which of the following commands could Amanda use to navigate to her home directory,\n" +"> which of the following commands could Amanda use to navigate to her home " +"directory,\n" "> which is `/Users/amanda`?\n" ">\n" "> 1. `cd .`\n" @@ -3106,15 +3379,18 @@ msgid "" "> > 2. No: `/` stands for the root directory.\n" "> > 3. No: Amanda's home directory is `/Users/amanda`.\n" "> > 4. No: this goes up two levels, i.e. ends in `/Users`.\n" -"> > 5. Yes: `~` stands for the user's home directory, in this case `/Users/amanda`.\n" -"> > 6. No: this would navigate into a directory `home` in the current directory if it exists.\n" +"> > 5. Yes: `~` stands for the user's home directory, in this case `/Users/" +"amanda`.\n" +"> > 6. No: this would navigate into a directory `home` in the current " +"directory if it exists.\n" "> > 7. Yes: unnecessarily complicated, but correct.\n" "> > 8. Yes: shortcut to go back to the user's home directory.\n" "> > 9. Yes: goes up one level." msgstr "" ">\n" "> Starting from `/Users/amanda/data/`,\n" -"> which of the following commands could Amanda use to navigate to her home directory,\n" +"> which of the following commands could Amanda use to navigate to her home " +"directory,\n" "> which is `/Users/amanda`?\n" ">\n" "> 1. `cd .`\n" @@ -3132,18 +3408,20 @@ msgstr "" "> > 2. No: `/` stands for the root directory.\n" "> > 3. No: Amanda's home directory is `/Users/amanda`.\n" "> > 4. No: this goes up two levels, i.e. ends in `/Users`.\n" -"> > 5. Yes: `~` stands for the user's home directory, in this case `/Users/amanda`.\n" -"> > 6. No: this would navigate into a directory `home` in the current directory if it exists.\n" +"> > 5. Yes: `~` stands for the user's home directory, in this case `/Users/" +"amanda`.\n" +"> > 6. No: this would navigate into a directory `home` in the current " +"directory if it exists.\n" "> > 7. Yes: unnecessarily complicated, but correct.\n" "> > 8. Yes: shortcut to go back to the user's home directory.\n" "> > 9. Yes: goes up one level." # blockquote, which can be cascaded -#: shell-novice/_episodes/02-filedir.md:709 +#: shell-novice/_episodes/02-filedir.md:710 msgid "> ## Relative Path Resolution" msgstr "> ## Relative Path Resolution" -#: shell-novice/_episodes/02-filedir.md:710 +#: shell-novice/_episodes/02-filedir.md:711 msgid "" ">\n" "> Using the filesystem diagram below, if `pwd` displays `/Users/thing`,\n" @@ -3182,11 +3460,11 @@ msgstr "" "> > 4. Yes: `../backup/` refers to `/Users/backup/`." # blockquote, which can be cascaded -#: shell-novice/_episodes/02-filedir.md:730 +#: shell-novice/_episodes/02-filedir.md:731 msgid "> ## `ls` Reading Comprehension" msgstr "> ## `ls` Reading Comprehension" -#: shell-novice/_episodes/02-filedir.md:731 +#: shell-novice/_episodes/02-filedir.md:732 msgid "" ">\n" "> Assuming a directory structure as in the above Figure\n" @@ -3209,25 +3487,25 @@ msgstr "" "> ~~~" # SC/DC Template label -#: shell-novice/_episodes/02-filedir.md:740 +#: shell-novice/_episodes/02-filedir.md:741 #: shell-novice/_episodes/03-create.md:569 #: shell-novice/_episodes/03-create.md:577 #: shell-novice/_episodes/03-create.md:619 #: shell-novice/_episodes/03-create.md:632 #: shell-novice/_episodes/03-create.md:640 #: shell-novice/_episodes/03-create.md:674 -#: shell-novice/_episodes/04-pipefilter.md:323 -#: shell-novice/_episodes/04-pipefilter.md:334 -#: shell-novice/_episodes/04-pipefilter.md:630 -#: shell-novice/_episodes/04-pipefilter.md:691 -#: shell-novice/_episodes/04-pipefilter.md:716 +#: shell-novice/_episodes/04-pipefilter.md:328 +#: shell-novice/_episodes/04-pipefilter.md:339 +#: shell-novice/_episodes/04-pipefilter.md:635 +#: shell-novice/_episodes/04-pipefilter.md:696 +#: shell-novice/_episodes/04-pipefilter.md:721 #: shell-novice/_episodes/05-loop.md:124 shell-novice/_episodes/05-loop.md:369 -#: shell-novice/_episodes/05-loop.md:559 shell-novice/_episodes/07-find.md:239 -#: shell-novice/_episodes/07-find.md:272 +#: shell-novice/_episodes/05-loop.md:559 shell-novice/_episodes/07-find.md:242 +#: shell-novice/_episodes/07-find.md:275 msgid "> {: .output}" msgstr "> {: .output}" -#: shell-novice/_episodes/02-filedir.md:741 +#: shell-novice/_episodes/02-filedir.md:742 msgid "" ">\n" "> 1. `ls pwd`\n" @@ -3256,14 +3534,15 @@ msgstr "" "> > 4. Correct: see explanations above." # header -#: shell-novice/_episodes/02-filedir.md:756 +#: shell-novice/_episodes/02-filedir.md:757 msgid "### Nelle's Pipeline: Organizing Files" msgstr "### Nelle's Pipeline: Organizing Files" -#: shell-novice/_episodes/02-filedir.md:758 +#: shell-novice/_episodes/02-filedir.md:759 msgid "" "Knowing just this much about files and directories,\n" -"Nelle is ready to organize the files that the protein assay machine will create.\n" +"Nelle is ready to organize the files that the protein assay machine will " +"create.\n" "First,\n" "she creates a directory called `north-pacific-gyre`\n" "(to remind herself where the data came from).\n" @@ -3276,7 +3555,8 @@ msgid "" "a directory called `revised-revised-results-3`.)" msgstr "" "Knowing just this much about files and directories,\n" -"Nelle is ready to organize the files that the protein assay machine will create.\n" +"Nelle is ready to organize the files that the protein assay machine will " +"create.\n" "First,\n" "she creates a directory called `north-pacific-gyre`\n" "(to remind herself where the data came from).\n" @@ -3289,39 +3569,44 @@ msgstr "" "a directory called `revised-revised-results-3`.)" # blockquote, which can be cascaded -#: shell-novice/_episodes/02-filedir.md:771 +#: shell-novice/_episodes/02-filedir.md:772 msgid "> ## Sorting Output" msgstr "> ## Sorting Output" -#: shell-novice/_episodes/02-filedir.md:772 +#: shell-novice/_episodes/02-filedir.md:773 msgid "" ">\n" "> Nelle names her directories \"year-month-day\",\n" "> with leading zeroes for months and days,\n" -"> because the shell displays file and directory names in alphabetical order.\n" +"> because the shell displays file and directory names in alphabetical " +"order.\n" "> If she used month names,\n" "> December would come before July;\n" "> if she didn't use leading zeroes,\n" -"> November ('11') would come before July ('7'). Similarly, putting the year first\n" +"> November ('11') would come before July ('7'). Similarly, putting the year " +"first\n" "> means that June 2012 will come before June 2013." msgstr "" ">\n" "> Nelle names her directories \"year-month-day\",\n" "> with leading zeroes for months and days,\n" -"> because the shell displays file and directory names in alphabetical order.\n" +"> because the shell displays file and directory names in alphabetical " +"order.\n" "> If she used month names,\n" "> December would come before July;\n" "> if she didn't use leading zeroes,\n" -"> November ('11') would come before July ('7'). Similarly, putting the year first\n" +"> November ('11') would come before July ('7'). Similarly, putting the year " +"first\n" "> means that June 2012 will come before June 2013." -#: shell-novice/_episodes/02-filedir.md:783 +#: shell-novice/_episodes/02-filedir.md:784 msgid "" "Each of her physical samples is labelled according to her lab's convention\n" "with a unique ten-character ID,\n" "such as \"NENE01729A\".\n" "This is what she used in her collection log\n" -"to record the location, time, depth, and other characteristics of the sample,\n" +"to record the location, time, depth, and other characteristics of the " +"sample,\n" "so she decides to use it as part of each data file's name.\n" "Since the assay machine's output is plain text,\n" "she will call her files `NENE01729A.txt`, `NENE01812A.txt`, and so on.\n" @@ -3331,13 +3616,14 @@ msgstr "" "with a unique ten-character ID,\n" "such as \"NENE01729A\".\n" "This is what she used in her collection log\n" -"to record the location, time, depth, and other characteristics of the sample,\n" +"to record the location, time, depth, and other characteristics of the " +"sample,\n" "so she decides to use it as part of each data file's name.\n" "Since the assay machine's output is plain text,\n" "she will call her files `NENE01729A.txt`, `NENE01812A.txt`, and so on.\n" "All 1520 files will go into the same directory." -#: shell-novice/_episodes/02-filedir.md:793 +#: shell-novice/_episodes/02-filedir.md:794 msgid "" "Now in her current directory `data-shell`,\n" "Nelle can see what files she has using the command:" @@ -3346,7 +3632,7 @@ msgstr "" "Nelle can see what files she has using the command:" # code block -#: shell-novice/_episodes/02-filedir.md:796 +#: shell-novice/_episodes/02-filedir.md:797 msgid "" "~~~\n" "$ ls north-pacific-gyre/2012-07-03/\n" @@ -3356,18 +3642,20 @@ msgstr "" "$ ls north-pacific-gyre/2012-07-03/\n" "~~~" -#: shell-novice/_episodes/02-filedir.md:801 +#: shell-novice/_episodes/02-filedir.md:802 msgid "" "This is a lot to type,\n" -"but she can let the shell do most of the work through what is called **tab completion**.\n" +"but she can let the shell do most of the work through what is called **tab " +"completion**.\n" "If she types:" msgstr "" "This is a lot to type,\n" -"but she can let the shell do most of the work through what is called **tab completion**.\n" +"but she can let the shell do most of the work through what is called **tab " +"completion**.\n" "If she types:" # code block -#: shell-novice/_episodes/02-filedir.md:805 +#: shell-novice/_episodes/02-filedir.md:806 msgid "" "~~~\n" "$ ls nor\n" @@ -3377,7 +3665,7 @@ msgstr "" "$ ls nor\n" "~~~" -#: shell-novice/_episodes/02-filedir.md:810 +#: shell-novice/_episodes/02-filedir.md:811 msgid "" "and then presses tab (the tab key on her keyboard),\n" "the shell automatically completes the directory name for her:" @@ -3386,7 +3674,7 @@ msgstr "" "the shell automatically completes the directory name for her:" # code block -#: shell-novice/_episodes/02-filedir.md:813 +#: shell-novice/_episodes/02-filedir.md:814 msgid "" "~~~\n" "$ ls north-pacific-gyre/\n" @@ -3396,7 +3684,7 @@ msgstr "" "$ ls north-pacific-gyre/\n" "~~~" -#: shell-novice/_episodes/02-filedir.md:818 +#: shell-novice/_episodes/02-filedir.md:819 msgid "" "If she presses tab again,\n" "Bash will add `2012-07-03/` to the command,\n" @@ -3430,16 +3718,20 @@ msgid "" "- \"How can I edit files?\"\n" "objectives:\n" "- \"Create a directory hierarchy that matches a given diagram.\"\n" -"- \"Create files in that hierarchy using an editor or by copying and renaming existing files.\"\n" +"- \"Create files in that hierarchy using an editor or by copying and " +"renaming existing files.\"\n" "- \"Delete specified files and/or directories.\"\n" "keypoints:\n" "- \"`cp old new` copies a file.\"\n" "- \"`mkdir path` creates a new directory.\"\n" "- \"`mv old new` moves (renames) a file or directory.\"\n" "- \"`rm path` removes (deletes) a file.\"\n" -"- \"Use of the Control key may be described in many ways, including `Ctrl-X`, `Control-X`, and `^X`.\"\n" -"- \"The shell does not have a trash bin: once something is deleted, it's really gone.\"\n" -"- \"Depending on the type of work you do, you may need a more powerful text editor than Nano.\"\n" +"- \"Use of the Control key may be described in many ways, including `Ctrl-" +"X`, `Control-X`, and `^X`.\"\n" +"- \"The shell does not have a trash bin: once something is deleted, it's " +"really gone.\"\n" +"- \"Depending on the type of work you do, you may need a more powerful text " +"editor than Nano.\"\n" "---" msgstr "" "---\n" @@ -3451,16 +3743,20 @@ msgstr "" "- \"How can I edit files?\"\n" "objectives:\n" "- \"Create a directory hierarchy that matches a given diagram.\"\n" -"- \"Create files in that hierarchy using an editor or by copying and renaming existing files.\"\n" +"- \"Create files in that hierarchy using an editor or by copying and " +"renaming existing files.\"\n" "- \"Delete specified files and/or directories.\"\n" "keypoints:\n" "- \"`cp old new` copies a file.\"\n" "- \"`mkdir path` creates a new directory.\"\n" "- \"`mv old new` moves (renames) a file or directory.\"\n" "- \"`rm path` removes (deletes) a file.\"\n" -"- \"Use of the Control key may be described in many ways, including `Ctrl-X`, `Control-X`, and `^X`.\"\n" -"- \"The shell does not have a trash bin: once something is deleted, it's really gone.\"\n" -"- \"Depending on the type of work you do, you may need a more powerful text editor than Nano.\"\n" +"- \"Use of the Control key may be described in many ways, including `Ctrl-" +"X`, `Control-X`, and `^X`.\"\n" +"- \"The shell does not have a trash bin: once something is deleted, it's " +"really gone.\"\n" +"- \"Depending on the type of work you do, you may need a more powerful text " +"editor than Nano.\"\n" "---" #: shell-novice/_episodes/03-create.md:22 @@ -3479,19 +3775,23 @@ msgstr "" #: shell-novice/_episodes/03-create.md:42 msgid "" "~~~\n" -"creatures/ data/ molecules/ north-pacific-gyre/ notes.txt pizza.cfg solar.pdf writing/\n" +"creatures/ data/ molecules/ north-pacific-gyre/ notes.txt pizza.cfg " +"solar.pdf writing/\n" "~~~" msgstr "" "~~~\n" -"creatures/ data/ molecules/ north-pacific-gyre/ notes.txt pizza.cfg solar.pdf writing/\n" +"creatures/ data/ molecules/ north-pacific-gyre/ notes.txt pizza.cfg " +"solar.pdf writing/\n" "~~~" #: shell-novice/_episodes/03-create.md:47 msgid "" -"Let's create a new directory called `thesis` using the command `mkdir thesis`\n" +"Let's create a new directory called `thesis` using the command `mkdir " +"thesis`\n" "(which has no output):" msgstr "" -"Let's create a new directory called `thesis` using the command `mkdir thesis`\n" +"Let's create a new directory called `thesis` using the command `mkdir " +"thesis`\n" "(which has no output):" # code block @@ -3523,11 +3823,13 @@ msgstr "" #: shell-novice/_episodes/03-create.md:66 msgid "" "~~~\n" -"creatures/ data/ molecules/ north-pacific-gyre/ notes.txt pizza.cfg solar.pdf thesis/ writing/\n" +"creatures/ data/ molecules/ north-pacific-gyre/ notes.txt pizza.cfg " +"solar.pdf thesis/ writing/\n" "~~~" msgstr "" "~~~\n" -"creatures/ data/ molecules/ north-pacific-gyre/ notes.txt pizza.cfg solar.pdf thesis/ writing/\n" +"creatures/ data/ molecules/ north-pacific-gyre/ notes.txt pizza.cfg " +"solar.pdf thesis/ writing/\n" "~~~" # blockquote, which can be cascaded @@ -3537,13 +3839,21 @@ msgstr "> ## Two ways of doing the same thing" # blockquote, which can be cascaded #: shell-novice/_episodes/03-create.md:72 -msgid "> Using the shell to create a directory is no different than using a file explorer." -msgstr "> Using the shell to create a directory is no different than using a file explorer." +msgid "" +"> Using the shell to create a directory is no different than using a file " +"explorer." +msgstr "" +"> Using the shell to create a directory is no different than using a file " +"explorer." # blockquote, which can be cascaded #: shell-novice/_episodes/03-create.md:73 -msgid "> If you open the current directory using your operating system's graphical file explorer," -msgstr "> If you open the current directory using your operating system's graphical file explorer," +msgid "" +"> If you open the current directory using your operating system's graphical " +"file explorer," +msgstr "" +"> If you open the current directory using your operating system's graphical " +"file explorer," # blockquote, which can be cascaded #: shell-novice/_episodes/03-create.md:74 @@ -3583,15 +3893,19 @@ msgid "" ">\n" "> Commands treat names starting with `-` as options.\n" ">\n" -"> 3. Stick with letters, numbers, `.` (period), `-` (dash) and `_` (underscore).\n" +"> 3. Stick with letters, numbers, `.` (period), `-` (dash) and `_` " +"(underscore).\n" ">\n" "> Many other characters have special meanings on the command line.\n" "> We will learn about some of these during this lesson.\n" -"> There are special characters that can cause your command to not work as\n" +"> There are special characters that can cause your command to not work " +"as\n" "> expected and can even result in data loss.\n" ">\n" -"> If you need to refer to names of files or directories that have whitespace\n" -"> or another non-alphanumeric character, you should surround the name in quotes (`\"\"`)." +"> If you need to refer to names of files or directories that have " +"whitespace\n" +"> or another non-alphanumeric character, you should surround the name in " +"quotes (`\"\"`)." msgstr "" ">\n" "> Complicated names of files and directories can make your life painful\n" @@ -3609,19 +3923,25 @@ msgstr "" ">\n" "> Commands treat names starting with `-` as options.\n" ">\n" -"> 3. Stick with letters, numbers, `.` (period), `-` (dash) and `_` (underscore).\n" +"> 3. Stick with letters, numbers, `.` (period), `-` (dash) and `_` " +"(underscore).\n" ">\n" "> Many other characters have special meanings on the command line.\n" "> We will learn about some of these during this lesson.\n" -"> There are special characters that can cause your command to not work as\n" +"> There are special characters that can cause your command to not work " +"as\n" "> expected and can even result in data loss.\n" ">\n" -"> If you need to refer to names of files or directories that have whitespace\n" -"> or another non-alphanumeric character, you should surround the name in quotes (`\"\"`)." +"> If you need to refer to names of files or directories that have " +"whitespace\n" +"> or another non-alphanumeric character, you should surround the name in " +"quotes (`\"\"`)." #: shell-novice/_episodes/03-create.md:107 -msgid "Since we've just created the `thesis` directory, there's nothing in it yet:" -msgstr "Since we've just created the `thesis` directory, there's nothing in it yet:" +msgid "" +"Since we've just created the `thesis` directory, there's nothing in it yet:" +msgstr "" +"Since we've just created the `thesis` directory, there's nothing in it yet:" # code block #: shell-novice/_episodes/03-create.md:109 @@ -3663,7 +3983,8 @@ msgstr "> ## Which Editor?" #: shell-novice/_episodes/03-create.md:124 msgid "" ">\n" -"> When we say, \"`nano` is a text editor,\" we really do mean \"text\": it can\n" +"> When we say, \"`nano` is a text editor,\" we really do mean \"text\": it " +"can\n" "> only work with plain character data, not tables, images, or any other\n" "> human-friendly media. We use it in examples because it is one of the \n" "> least complex text editors. However, because of this trait, it may \n" @@ -3673,7 +3994,8 @@ msgid "" "> [Vim](http://www.vim.org/) (both of which require more time to learn), \n" "> or a graphical editor such as\n" "> [Gedit](http://projects.gnome.org/gedit/). On Windows, you may wish to\n" -"> use [Notepad++](http://notepad-plus-plus.org/). Windows also has a built-in\n" +"> use [Notepad++](http://notepad-plus-plus.org/). Windows also has a built-" +"in\n" "> editor called `notepad` that can be run from the command line in the same\n" "> way as `nano` for the purposes of this lesson. \n" ">\n" @@ -3685,7 +4007,8 @@ msgid "" "> another directory the first time you \"Save As...\"" msgstr "" ">\n" -"> When we say, \"`nano` is a text editor,\" we really do mean \"text\": it can\n" +"> When we say, \"`nano` is a text editor,\" we really do mean \"text\": it " +"can\n" "> only work with plain character data, not tables, images, or any other\n" "> human-friendly media. We use it in examples because it is one of the \n" "> least complex text editors. However, because of this trait, it may \n" @@ -3695,7 +4018,8 @@ msgstr "" "> [Vim](http://www.vim.org/) (both of which require more time to learn), \n" "> or a graphical editor such as\n" "> [Gedit](http://projects.gnome.org/gedit/). On Windows, you may wish to\n" -"> use [Notepad++](http://notepad-plus-plus.org/). Windows also has a built-in\n" +"> use [Notepad++](http://notepad-plus-plus.org/). Windows also has a built-" +"in\n" "> editor called `notepad` that can be run from the command line in the same\n" "> way as `nano` for the purposes of this lesson. \n" ">\n" @@ -3709,13 +4033,15 @@ msgstr "" #: shell-novice/_episodes/03-create.md:147 msgid "" "Let's type in a few lines of text.\n" -"Once we're happy with our text, we can press `Ctrl-O` (press the Ctrl or Control key and, while\n" +"Once we're happy with our text, we can press `Ctrl-O` (press the Ctrl or " +"Control key and, while\n" "holding it down, press the O key) to write our data to disk\n" "(we'll be asked what file we want to save this to:\n" "press Return to accept the suggested default of `draft.txt`)." msgstr "" "Let's type in a few lines of text.\n" -"Once we're happy with our text, we can press `Ctrl-O` (press the Ctrl or Control key and, while\n" +"Once we're happy with our text, we can press `Ctrl-O` (press the Ctrl or " +"Control key and, while\n" "holding it down, press the O key) to write our data to disk\n" "(we'll be asked what file we want to save this to:\n" "press Return to accept the suggested default of `draft.txt`)." @@ -3752,8 +4078,10 @@ msgid "" "> * `^X`\n" "> * `C-x`\n" ">\n" -"> In nano, along the bottom of the screen you'll see `^G Get Help ^O WriteOut`.\n" -"> This means that you can use `Control-G` to get help and `Control-O` to save your\n" +"> In nano, along the bottom of the screen you'll see `^G Get Help ^O " +"WriteOut`.\n" +"> This means that you can use `Control-G` to get help and `Control-O` to " +"save your\n" "> file." msgstr "" ">\n" @@ -3769,8 +4097,10 @@ msgstr "" "> * `^X`\n" "> * `C-x`\n" ">\n" -"> In nano, along the bottom of the screen you'll see `^G Get Help ^O WriteOut`.\n" -"> This means that you can use `Control-G` to get help and `Control-O` to save your\n" +"> In nano, along the bottom of the screen you'll see `^G Get Help ^O " +"WriteOut`.\n" +"> This means that you can use `Control-G` to get help and `Control-O` to " +"save your\n" "> file." #: shell-novice/_episodes/03-create.md:177 @@ -3934,10 +4264,12 @@ msgstr "" #: shell-novice/_episodes/03-create.md:259 msgid "" "Let's re-create that file\n" -"and then move up one directory to `/Users/nelle/Desktop/data-shell` using `cd ..`:" +"and then move up one directory to `/Users/nelle/Desktop/data-shell` using " +"`cd ..`:" msgstr "" "Let's re-create that file\n" -"and then move up one directory to `/Users/nelle/Desktop/data-shell` using `cd ..`:" +"and then move up one directory to `/Users/nelle/Desktop/data-shell` using " +"`cd ..`:" # code block #: shell-novice/_episodes/03-create.md:267 @@ -3994,16 +4326,20 @@ msgstr "" "~~~" #: shell-novice/_episodes/03-create.md:301 -msgid "This happens because `rm` by default only works on files, not directories." -msgstr "This happens because `rm` by default only works on files, not directories." +msgid "" +"This happens because `rm` by default only works on files, not directories." +msgstr "" +"This happens because `rm` by default only works on files, not directories." #: shell-novice/_episodes/03-create.md:303 msgid "" "To really get rid of `thesis` we must also delete the file `draft.txt`.\n" -"We can do this with the [recursive](https://en.wikipedia.org/wiki/Recursion) option for `rm`:" +"We can do this with the [recursive](https://en.wikipedia.org/wiki/Recursion) " +"option for `rm`:" msgstr "" "To really get rid of `thesis` we must also delete the file `draft.txt`.\n" -"We can do this with the [recursive](https://en.wikipedia.org/wiki/Recursion) option for `rm`:" +"We can do this with the [recursive](https://en.wikipedia.org/wiki/Recursion) " +"option for `rm`:" # code block #: shell-novice/_episodes/03-create.md:306 @@ -4033,8 +4369,10 @@ msgid "" "> > ```\n" "> > {: .language-bash} \n" "> > The -i option will prompt before every removal. \n" -"> > The Unix shell doesn't have a trash bin, so all the files removed will disappear forever. \n" -"> > By using the -i flag, we have the chance to check that we are deleting only the files that we want to remove." +"> > The Unix shell doesn't have a trash bin, so all the files removed will " +"disappear forever. \n" +"> > By using the -i flag, we have the chance to check that we are deleting " +"only the files that we want to remove." msgstr "" ">\n" "> What happens when we type `rm -i thesis/quotations.txt`?\n" @@ -4046,8 +4384,10 @@ msgstr "" "> > ```\n" "> > {: .language-bash} \n" "> > The -i option will prompt before every removal. \n" -"> > The Unix shell doesn't have a trash bin, so all the files removed will disappear forever. \n" -"> > By using the -i flag, we have the chance to check that we are deleting only the files that we want to remove." +"> > The Unix shell doesn't have a trash bin, so all the files removed will " +"disappear forever. \n" +"> > By using the -i flag, we have the chance to check that we are deleting " +"only the files that we want to remove." # blockquote, which can be cascaded #: shell-novice/_episodes/03-create.md:327 @@ -4059,7 +4399,8 @@ msgid "" ">\n" "> Removing the files in a directory recursively can be a very dangerous\n" "> operation. If we're concerned about what we might be deleting we can\n" -"> add the \"interactive\" flag `-i` to `rm` which will ask us for confirmation\n" +"> add the \"interactive\" flag `-i` to `rm` which will ask us for " +"confirmation\n" "> before each step\n" ">\n" "> ~~~\n" @@ -4070,13 +4411,15 @@ msgid "" "> ~~~\n" "> {: .language-bash}\n" ">\n" -"> This removes everything in the directory, then the directory itself, asking\n" +"> This removes everything in the directory, then the directory itself, " +"asking\n" "> at each step for you to confirm the deletion." msgstr "" ">\n" "> Removing the files in a directory recursively can be a very dangerous\n" "> operation. If we're concerned about what we might be deleting we can\n" -"> add the \"interactive\" flag `-i` to `rm` which will ask us for confirmation\n" +"> add the \"interactive\" flag `-i` to `rm` which will ask us for " +"confirmation\n" "> before each step\n" ">\n" "> ~~~\n" @@ -4087,18 +4430,21 @@ msgstr "" "> ~~~\n" "> {: .language-bash}\n" ">\n" -"> This removes everything in the directory, then the directory itself, asking\n" +"> This removes everything in the directory, then the directory itself, " +"asking\n" "> at each step for you to confirm the deletion." #: shell-novice/_episodes/03-create.md:346 msgid "" "Let's create that directory and file one more time.\n" "(Note that this time we're running `nano` with the path `thesis/draft.txt`,\n" -"rather than going into the `thesis` directory and running `nano` on `draft.txt` there.)" +"rather than going into the `thesis` directory and running `nano` on `draft." +"txt` there.)" msgstr "" "Let's create that directory and file one more time.\n" "(Note that this time we're running `nano` with the path `thesis/draft.txt`,\n" -"rather than going into the `thesis` directory and running `nano` on `draft.txt` there.)" +"rather than going into the `thesis` directory and running `nano` on `draft." +"txt` there.)" # code block #: shell-novice/_episodes/03-create.md:360 @@ -4207,7 +4553,8 @@ msgid "" "but put the file somewhere new.\n" "(This is why the command is called \"move\".)\n" "In this case,\n" -"the directory name we use is the special directory name `.` that we mentioned earlier." +"the directory name we use is the special directory name `.` that we " +"mentioned earlier." msgstr "" "Let's move `quotes.txt` into the current working directory.\n" "We use `mv` once again,\n" @@ -4216,7 +4563,8 @@ msgstr "" "but put the file somewhere new.\n" "(This is why the command is called \"move\".)\n" "In this case,\n" -"the directory name we use is the special directory name `.` that we mentioned earlier." +"the directory name we use is the special directory name `.` that we " +"mentioned earlier." # code block #: shell-novice/_episodes/03-create.md:416 @@ -4231,20 +4579,24 @@ msgstr "" #: shell-novice/_episodes/03-create.md:421 msgid "" -"The effect is to move the file from the directory it was in to the current working directory.\n" +"The effect is to move the file from the directory it was in to the current " +"working directory.\n" "`ls` now shows us that `thesis` is empty:" msgstr "" -"The effect is to move the file from the directory it was in to the current working directory.\n" +"The effect is to move the file from the directory it was in to the current " +"working directory.\n" "`ls` now shows us that `thesis` is empty:" #: shell-novice/_episodes/03-create.md:429 msgid "" "Further,\n" -"`ls` with a filename or directory name as an argument only lists that file or directory.\n" +"`ls` with a filename or directory name as an argument only lists that file " +"or directory.\n" "We can use this to see that `quotes.txt` is still in our current directory:" msgstr "" "Further,\n" -"`ls` with a filename or directory name as an argument only lists that file or directory.\n" +"`ls` with a filename or directory name as an argument only lists that file " +"or directory.\n" "We can use this to see that `quotes.txt` is still in our current directory:" # code block @@ -4267,7 +4619,8 @@ msgstr "> ## Moving to the Current Folder" msgid "" ">\n" "> After running the following commands,\n" -"> Jamie realizes that she put the files `sucrose.dat` and `maltose.dat` into the wrong folder:\n" +"> Jamie realizes that she put the files `sucrose.dat` and `maltose.dat` into " +"the wrong folder:\n" ">\n" "> ~~~\n" "> $ ls -F\n" @@ -4290,12 +4643,14 @@ msgid "" "> > $ mv ../analyzed/sucrose.dat ../analyzed/maltose.dat .\n" "> > ```\n" "> > {: .language-bash}\n" -"> > Recall that `..` refers to the parent directory (i.e. one above the current directory)\n" +"> > Recall that `..` refers to the parent directory (i.e. one above the " +"current directory)\n" "> > and that `.` refers to the current directory." msgstr "" ">\n" "> After running the following commands,\n" -"> Jamie realizes that she put the files `sucrose.dat` and `maltose.dat` into the wrong folder:\n" +"> Jamie realizes that she put the files `sucrose.dat` and `maltose.dat` into " +"the wrong folder:\n" ">\n" "> ~~~\n" "> $ ls -F\n" @@ -4318,7 +4673,8 @@ msgstr "" "> > $ mv ../analyzed/sucrose.dat ../analyzed/maltose.dat .\n" "> > ```\n" "> > {: .language-bash}\n" -"> > Recall that `..` refers to the parent directory (i.e. one above the current directory)\n" +"> > Recall that `..` refers to the parent directory (i.e. one above the " +"current directory)\n" "> > and that `.` refers to the current directory." #: shell-novice/_episodes/03-create.md:474 @@ -4397,10 +4753,12 @@ msgstr "" #: shell-novice/_episodes/03-create.md:507 msgid "" -"This time it tells us that it can't find `quotes.txt` in the current directory,\n" +"This time it tells us that it can't find `quotes.txt` in the current " +"directory,\n" "but it does find the copy in `thesis` that we didn't delete." msgstr "" -"This time it tells us that it can't find `quotes.txt` in the current directory,\n" +"This time it tells us that it can't find `quotes.txt` in the current " +"directory,\n" "but it does find the copy in `thesis` that we didn't delete." # blockquote, which can be cascaded @@ -4418,8 +4776,10 @@ msgid "" "> most of the time to help them (and their programs) tell different kinds\n" "> of files apart. The second part of such a name is called the\n" "> **filename extension**, and indicates\n" -"> what type of data the file holds: `.txt` signals a plain text file, `.pdf`\n" -"> indicates a PDF document, `.cfg` is a configuration file full of parameters\n" +"> what type of data the file holds: `.txt` signals a plain text file, `." +"pdf`\n" +"> indicates a PDF document, `.cfg` is a configuration file full of " +"parameters\n" "> for some program or other, `.png` is a PNG image, and so on.\n" ">\n" "> This is just a convention, albeit an important one. Files contain\n" @@ -4440,8 +4800,10 @@ msgstr "" "> most of the time to help them (and their programs) tell different kinds\n" "> of files apart. The second part of such a name is called the\n" "> **filename extension**, and indicates\n" -"> what type of data the file holds: `.txt` signals a plain text file, `.pdf`\n" -"> indicates a PDF document, `.cfg` is a configuration file full of parameters\n" +"> what type of data the file holds: `.txt` signals a plain text file, `." +"pdf`\n" +"> indicates a PDF document, `.cfg` is a configuration file full of " +"parameters\n" "> for some program or other, `.png` is a PNG image, and so on.\n" ">\n" "> This is just a convention, albeit an important one. Files contain\n" @@ -4462,11 +4824,15 @@ msgstr "> ## Renaming Files" #: shell-novice/_episodes/03-create.md:535 msgid "" ">\n" -"> Suppose that you created a `.txt` file in your current directory to contain a list of the\n" -"> statistical tests you will need to do to analyze your data, and named it: `statstics.txt`\n" +"> Suppose that you created a `.txt` file in your current directory to " +"contain a list of the\n" +"> statistical tests you will need to do to analyze your data, and named it: " +"`statstics.txt`\n" ">\n" -"> After creating and saving this file you realize you misspelled the filename! You want to\n" -"> correct the mistake, which of the following commands could you use to do so?\n" +"> After creating and saving this file you realize you misspelled the " +"filename! You want to\n" +"> correct the mistake, which of the following commands could you use to do " +"so?\n" ">\n" "> 1. `cp statstics.txt statistics.txt`\n" "> 2. `mv statstics.txt statistics.txt`\n" @@ -4474,20 +4840,27 @@ msgid "" "> 4. `cp statstics.txt .`\n" ">\n" "> > ## Solution\n" -"> > 1. No. While this would create a file with the correct name, the incorrectly named file still exists in the directory\n" +"> > 1. No. While this would create a file with the correct name, the " +"incorrectly named file still exists in the directory\n" "> > and would need to be deleted.\n" "> > 2. Yes, this would work to rename the file.\n" -"> > 3. No, the period(.) indicates where to move the file, but does not provide a new file name; identical file names\n" +"> > 3. No, the period(.) indicates where to move the file, but does not " +"provide a new file name; identical file names\n" "> > cannot be created.\n" -"> > 4. No, the period(.) indicates where to copy the file, but does not provide a new file name; identical file names\n" +"> > 4. No, the period(.) indicates where to copy the file, but does not " +"provide a new file name; identical file names\n" "> > cannot be created." msgstr "" ">\n" -"> Suppose that you created a `.txt` file in your current directory to contain a list of the\n" -"> statistical tests you will need to do to analyze your data, and named it: `statstics.txt`\n" +"> Suppose that you created a `.txt` file in your current directory to " +"contain a list of the\n" +"> statistical tests you will need to do to analyze your data, and named it: " +"`statstics.txt`\n" ">\n" -"> After creating and saving this file you realize you misspelled the filename! You want to\n" -"> correct the mistake, which of the following commands could you use to do so?\n" +"> After creating and saving this file you realize you misspelled the " +"filename! You want to\n" +"> correct the mistake, which of the following commands could you use to do " +"so?\n" ">\n" "> 1. `cp statstics.txt statistics.txt`\n" "> 2. `mv statstics.txt statistics.txt`\n" @@ -4495,12 +4868,15 @@ msgstr "" "> 4. `cp statstics.txt .`\n" ">\n" "> > ## Solution\n" -"> > 1. No. While this would create a file with the correct name, the incorrectly named file still exists in the directory\n" +"> > 1. No. While this would create a file with the correct name, the " +"incorrectly named file still exists in the directory\n" "> > and would need to be deleted.\n" "> > 2. Yes, this would work to rename the file.\n" -"> > 3. No, the period(.) indicates where to move the file, but does not provide a new file name; identical file names\n" +"> > 3. No, the period(.) indicates where to move the file, but does not " +"provide a new file name; identical file names\n" "> > cannot be created.\n" -"> > 4. No, the period(.) indicates where to copy the file, but does not provide a new file name; identical file names\n" +"> > 4. No, the period(.) indicates where to copy the file, but does not " +"provide a new file name; identical file names\n" "> > cannot be created." # blockquote, which can be cascaded @@ -4511,7 +4887,8 @@ msgstr "> ## Moving and Copying" #: shell-novice/_episodes/03-create.md:559 msgid "" ">\n" -"> What is the output of the closing `ls` command in the sequence shown below?\n" +"> What is the output of the closing `ls` command in the sequence shown " +"below?\n" ">\n" "> ~~~\n" "> $ pwd\n" @@ -4522,7 +4899,8 @@ msgid "" "> ~~~" msgstr "" ">\n" -"> What is the output of the closing `ls` command in the sequence shown below?\n" +"> What is the output of the closing `ls` command in the sequence shown " +"below?\n" ">\n" "> ~~~\n" "> $ pwd\n" @@ -4567,18 +4945,27 @@ msgid "" "> 4. `proteins-saved.dat`\n" ">\n" "> > ## Solution\n" -"> > We start in the `/Users/jamie/data` directory, and create a new folder called `recombine`.\n" -"> > The second line moves (`mv`) the file `proteins.dat` to the new folder (`recombine`).\n" -"> > The third line makes a copy of the file we just moved. The tricky part here is where the file was\n" -"> > copied to. Recall that `..` means \"go up a level\", so the copied file is now in `/Users/jamie`.\n" +"> > We start in the `/Users/jamie/data` directory, and create a new folder " +"called `recombine`.\n" +"> > The second line moves (`mv`) the file `proteins.dat` to the new folder " +"(`recombine`).\n" +"> > The third line makes a copy of the file we just moved. The tricky part " +"here is where the file was\n" +"> > copied to. Recall that `..` means \"go up a level\", so the copied file " +"is now in `/Users/jamie`.\n" "> > Notice that `..` is interpreted with respect to the current working\n" -"> > directory, **not** with respect to the location of the file being copied.\n" -"> > So, the only thing that will show using ls (in `/Users/jamie/data`) is the recombine folder.\n" +"> > directory, **not** with respect to the location of the file being " +"copied.\n" +"> > So, the only thing that will show using ls (in `/Users/jamie/data`) is " +"the recombine folder.\n" "> >\n" -"> > 1. No, see explanation above. `proteins-saved.dat` is located at `/Users/jamie`\n" +"> > 1. No, see explanation above. `proteins-saved.dat` is located at `/" +"Users/jamie`\n" "> > 2. Yes\n" -"> > 3. No, see explanation above. `proteins.dat` is located at `/Users/jamie/data/recombine`\n" -"> > 4. No, see explanation above. `proteins-saved.dat` is located at `/Users/jamie`" +"> > 3. No, see explanation above. `proteins.dat` is located at `/Users/" +"jamie/data/recombine`\n" +"> > 4. No, see explanation above. `proteins-saved.dat` is located at `/" +"Users/jamie`" msgstr "" ">\n" "> 1. `proteins-saved.dat recombine`\n" @@ -4587,18 +4974,27 @@ msgstr "" "> 4. `proteins-saved.dat`\n" ">\n" "> > ## Solution\n" -"> > We start in the `/Users/jamie/data` directory, and create a new folder called `recombine`.\n" -"> > The second line moves (`mv`) the file `proteins.dat` to the new folder (`recombine`).\n" -"> > The third line makes a copy of the file we just moved. The tricky part here is where the file was\n" -"> > copied to. Recall that `..` means \"go up a level\", so the copied file is now in `/Users/jamie`.\n" +"> > We start in the `/Users/jamie/data` directory, and create a new folder " +"called `recombine`.\n" +"> > The second line moves (`mv`) the file `proteins.dat` to the new folder " +"(`recombine`).\n" +"> > The third line makes a copy of the file we just moved. The tricky part " +"here is where the file was\n" +"> > copied to. Recall that `..` means \"go up a level\", so the copied file " +"is now in `/Users/jamie`.\n" "> > Notice that `..` is interpreted with respect to the current working\n" -"> > directory, **not** with respect to the location of the file being copied.\n" -"> > So, the only thing that will show using ls (in `/Users/jamie/data`) is the recombine folder.\n" +"> > directory, **not** with respect to the location of the file being " +"copied.\n" +"> > So, the only thing that will show using ls (in `/Users/jamie/data`) is " +"the recombine folder.\n" "> >\n" -"> > 1. No, see explanation above. `proteins-saved.dat` is located at `/Users/jamie`\n" +"> > 1. No, see explanation above. `proteins-saved.dat` is located at `/" +"Users/jamie`\n" "> > 2. Yes\n" -"> > 3. No, see explanation above. `proteins.dat` is located at `/Users/jamie/data/recombine`\n" -"> > 4. No, see explanation above. `proteins-saved.dat` is located at `/Users/jamie`" +"> > 3. No, see explanation above. `proteins.dat` is located at `/Users/" +"jamie/data/recombine`\n" +"> > 4. No, see explanation above. `proteins-saved.dat` is located at `/" +"Users/jamie`" # blockquote, which can be cascaded #: shell-novice/_episodes/03-create.md:607 @@ -4608,7 +5004,8 @@ msgstr "> ## Organizing Directories and Files" #: shell-novice/_episodes/03-create.md:608 msgid "" ">\n" -"> Jamie is working on a project and she sees that her files aren't very well\n" +"> Jamie is working on a project and she sees that her files aren't very " +"well\n" "> organized:\n" ">\n" "> ~~~\n" @@ -4620,7 +5017,8 @@ msgid "" "> ~~~" msgstr "" ">\n" -"> Jamie is working on a project and she sees that her files aren't very well\n" +"> Jamie is working on a project and she sees that her files aren't very " +"well\n" "> organized:\n" ">\n" "> ~~~\n" @@ -4635,7 +5033,8 @@ msgstr "" msgid "" ">\n" "> The `fructose.dat` and `sucrose.dat` files contain output from her data\n" -"> analysis. What command(s) covered in this lesson does she need to run so that the commands below will\n" +"> analysis. What command(s) covered in this lesson does she need to run so " +"that the commands below will\n" "> produce the output shown?\n" ">\n" "> ~~~\n" @@ -4648,7 +5047,8 @@ msgid "" msgstr "" ">\n" "> The `fructose.dat` and `sucrose.dat` files contain output from her data\n" -"> analysis. What command(s) covered in this lesson does she need to run so that the commands below will\n" +"> analysis. What command(s) covered in this lesson does she need to run so " +"that the commands below will\n" "> produce the output shown?\n" ">\n" "> ~~~\n" @@ -4677,9 +5077,12 @@ msgid "" "> > mv *.dat analyzed\n" "> > ```\n" "> > {: .language-bash}\n" -"> > Jamie needs to move her files `fructose.dat` and `sucrose.dat` to the `analyzed` directory.\n" -"> > The shell will expand *.dat to match all .dat files in the current directory.\n" -"> > The `mv` command then moves the list of .dat files to the \"analyzed\" directory." +"> > Jamie needs to move her files `fructose.dat` and `sucrose.dat` to the " +"`analyzed` directory.\n" +"> > The shell will expand *.dat to match all .dat files in the current " +"directory.\n" +"> > The `mv` command then moves the list of .dat files to the \"analyzed\" " +"directory." msgstr "" ">\n" "> > ## Solution\n" @@ -4687,9 +5090,12 @@ msgstr "" "> > mv *.dat analyzed\n" "> > ```\n" "> > {: .language-bash}\n" -"> > Jamie needs to move her files `fructose.dat` and `sucrose.dat` to the `analyzed` directory.\n" -"> > The shell will expand *.dat to match all .dat files in the current directory.\n" -"> > The `mv` command then moves the list of .dat files to the \"analyzed\" directory." +"> > Jamie needs to move her files `fructose.dat` and `sucrose.dat` to the " +"`analyzed` directory.\n" +"> > The shell will expand *.dat to match all .dat files in the current " +"directory.\n" +"> > The `mv` command then moves the list of .dat files to the \"analyzed\" " +"directory." # blockquote, which can be cascaded #: shell-novice/_episodes/03-create.md:653 @@ -4699,9 +5105,11 @@ msgstr "> ## Copy with Multiple Filenames" #: shell-novice/_episodes/03-create.md:654 msgid "" ">\n" -"> For this exercise, you can test the commands in the `data-shell/data directory`.\n" +"> For this exercise, you can test the commands in the `data-shell/data " +"directory`.\n" ">\n" -"> In the example below, what does `cp` do when given several filenames and a directory name?\n" +"> In the example below, what does `cp` do when given several filenames and a " +"directory name?\n" ">\n" "> ~~~\n" "> $ mkdir backup\n" @@ -4709,20 +5117,24 @@ msgid "" "> ~~~\n" "> {: .language-bash}\n" ">\n" -"> In the example below, what does `cp` do when given three or more file names?\n" +"> In the example below, what does `cp` do when given three or more file " +"names?\n" ">\n" "> ~~~\n" "> $ ls -F\n" "> ~~~\n" "> {: .language-bash}\n" "> ~~~\n" -"> amino-acids.txt animals.txt backup/ elements/ morse.txt pdb/ planets.txt salmon.txt sunspot.txt\n" +"> amino-acids.txt animals.txt backup/ elements/ morse.txt pdb/ planets." +"txt salmon.txt sunspot.txt\n" "> ~~~" msgstr "" ">\n" -"> For this exercise, you can test the commands in the `data-shell/data directory`.\n" +"> For this exercise, you can test the commands in the `data-shell/data " +"directory`.\n" ">\n" -"> In the example below, what does `cp` do when given several filenames and a directory name?\n" +"> In the example below, what does `cp` do when given several filenames and a " +"directory name?\n" ">\n" "> ~~~\n" "> $ mkdir backup\n" @@ -4730,14 +5142,16 @@ msgstr "" "> ~~~\n" "> {: .language-bash}\n" ">\n" -"> In the example below, what does `cp` do when given three or more file names?\n" +"> In the example below, what does `cp` do when given three or more file " +"names?\n" ">\n" "> ~~~\n" "> $ ls -F\n" "> ~~~\n" "> {: .language-bash}\n" "> ~~~\n" -"> amino-acids.txt animals.txt backup/ elements/ morse.txt pdb/ planets.txt salmon.txt sunspot.txt\n" +"> amino-acids.txt animals.txt backup/ elements/ morse.txt pdb/ planets." +"txt salmon.txt sunspot.txt\n" "> ~~~" # blockquote, which can be cascaded @@ -4749,10 +5163,12 @@ msgstr "> $ cp amino-acids.txt animals.txt morse.txt " msgid "" ">\n" "> > ## Solution\n" -"> > If given more than one file name followed by a directory name (i.e. the destination directory must \n" +"> > If given more than one file name followed by a directory name (i.e. the " +"destination directory must \n" "> > be the last argument), `cp` copies the files to the named directory.\n" "> >\n" -"> > If given three file names, `cp` throws an error because it is expecting a directory\n" +"> > If given three file names, `cp` throws an error because it is expecting " +"a directory\n" "> > name as the last argument.\n" "> >\n" "> > ```\n" @@ -4762,10 +5178,12 @@ msgid "" msgstr "" ">\n" "> > ## Solution\n" -"> > If given more than one file name followed by a directory name (i.e. the destination directory must \n" +"> > If given more than one file name followed by a directory name (i.e. the " +"destination directory must \n" "> > be the last argument), `cp` copies the files to the named directory.\n" "> >\n" -"> > If given three file names, `cp` throws an error because it is expecting a directory\n" +"> > If given three file names, `cp` throws an error because it is expecting " +"a directory\n" "> > name as the last argument.\n" "> >\n" "> > ```\n" @@ -4786,9 +5204,12 @@ msgid "" "> add new data.\n" ">\n" "> Assume that the file structure is in a folder called '2016-05-18-data',\n" -"> which contains a `data` folder that in turn contains folders named `raw` and\n" -"> `processed` that contain data files. The goal is to copy the file structure\n" -"> of the `2016-05-18-data` folder into a folder called `2016-05-20-data` and\n" +"> which contains a `data` folder that in turn contains folders named `raw` " +"and\n" +"> `processed` that contain data files. The goal is to copy the file " +"structure\n" +"> of the `2016-05-18-data` folder into a folder called `2016-05-20-data` " +"and\n" "> remove the data files from the directory you just created.\n" ">\n" "> Which of the following set of commands would achieve this objective?\n" @@ -4815,15 +5236,19 @@ msgid "" "> > ## Solution\n" "> > The first set of commands achieves this objective.\n" "> > First we have a recursive copy of a data folder.\n" -"> > Then two `rm` commands which remove all files in the specified directories.\n" -"> > The shell expands the '*' wild card to match all files and subdirectories.\n" +"> > Then two `rm` commands which remove all files in the specified " +"directories.\n" +"> > The shell expands the '*' wild card to match all files and " +"subdirectories.\n" "> >\n" "> > The second set of commands have the wrong order: \n" "> > attempting to delete files which haven't yet been copied,\n" "> > followed by the recursive copy command which would copy them.\n" "> >\n" -"> > The third set of commands would achieve the objective, but in a time-consuming way:\n" -"> > the first command copies the directory recursively, but the second command deletes\n" +"> > The third set of commands would achieve the objective, but in a time-" +"consuming way:\n" +"> > the first command copies the directory recursively, but the second " +"command deletes\n" "> > interactively, prompting for confirmation for each file and directory." msgstr "" ">\n" @@ -4832,9 +5257,12 @@ msgstr "" "> add new data.\n" ">\n" "> Assume that the file structure is in a folder called '2016-05-18-data',\n" -"> which contains a `data` folder that in turn contains folders named `raw` and\n" -"> `processed` that contain data files. The goal is to copy the file structure\n" -"> of the `2016-05-18-data` folder into a folder called `2016-05-20-data` and\n" +"> which contains a `data` folder that in turn contains folders named `raw` " +"and\n" +"> `processed` that contain data files. The goal is to copy the file " +"structure\n" +"> of the `2016-05-18-data` folder into a folder called `2016-05-20-data` " +"and\n" "> remove the data files from the directory you just created.\n" ">\n" "> Which of the following set of commands would achieve this objective?\n" @@ -4861,15 +5289,19 @@ msgstr "" "> > ## Solution\n" "> > The first set of commands achieves this objective.\n" "> > First we have a recursive copy of a data folder.\n" -"> > Then two `rm` commands which remove all files in the specified directories.\n" -"> > The shell expands the '*' wild card to match all files and subdirectories.\n" +"> > Then two `rm` commands which remove all files in the specified " +"directories.\n" +"> > The shell expands the '*' wild card to match all files and " +"subdirectories.\n" "> >\n" "> > The second set of commands have the wrong order: \n" "> > attempting to delete files which haven't yet been copied,\n" "> > followed by the recursive copy command which would copy them.\n" "> >\n" -"> > The third set of commands would achieve the objective, but in a time-consuming way:\n" -"> > the first command copies the directory recursively, but the second command deletes\n" +"> > The third set of commands would achieve the objective, but in a time-" +"consuming way:\n" +"> > the first command copies the directory recursively, but the second " +"command deletes\n" "> > interactively, prompting for confirmation for each file and directory." # Front Matter @@ -4885,7 +5317,8 @@ msgid "" "- \"Redirect a command's output to a file.\"\n" "- \"Process a file instead of keyboard input using redirection.\"\n" "- \"Construct command pipelines with two or more stages.\"\n" -"- \"Explain what usually happens if a program or pipeline isn't given any input to process.\"\n" +"- \"Explain what usually happens if a program or pipeline isn't given any " +"input to process.\"\n" "- \"Explain Unix's 'small pieces, loosely joined' philosophy.\"\n" "keypoints:\n" "- \"`cat` displays the contents of its inputs.\"\n" @@ -4893,11 +5326,15 @@ msgid "" "- \"`tail` displays the last few lines of its input.\"\n" "- \"`sort` sorts its inputs.\"\n" "- \"`wc` counts lines, words, and characters in its inputs.\"\n" -"- \"`*` matches zero or more characters in a filename, so `*.txt` matches all files ending in `.txt`.\"\n" -"- \"`?` matches any single character in a filename, so `?.txt` matches `a.txt` but not `any.txt`.\"\n" +"- \"`*` matches zero or more characters in a filename, so `*.txt` matches " +"all files ending in `.txt`.\"\n" +"- \"`?` matches any single character in a filename, so `?.txt` matches `a." +"txt` but not `any.txt`.\"\n" "- \"`command > file` redirects a command's output to a file.\"\n" -"- \"`first | second` is a pipeline: the output of the first command is used as the input to the second.\"\n" -"- \"The best way to use the shell is to use pipes to combine simple single-purpose programs (filters).\"\n" +"- \"`first | second` is a pipeline: the output of the first command is used " +"as the input to the second.\"\n" +"- \"The best way to use the shell is to use pipes to combine simple single-" +"purpose programs (filters).\"\n" "---" msgstr "" "---\n" @@ -4910,7 +5347,8 @@ msgstr "" "- \"Redirect a command's output to a file.\"\n" "- \"Process a file instead of keyboard input using redirection.\"\n" "- \"Construct command pipelines with two or more stages.\"\n" -"- \"Explain what usually happens if a program or pipeline isn't given any input to process.\"\n" +"- \"Explain what usually happens if a program or pipeline isn't given any " +"input to process.\"\n" "- \"Explain Unix's 'small pieces, loosely joined' philosophy.\"\n" "keypoints:\n" "- \"`cat` displays the contents of its inputs.\"\n" @@ -4918,11 +5356,15 @@ msgstr "" "- \"`tail` displays the last few lines of its input.\"\n" "- \"`sort` sorts its inputs.\"\n" "- \"`wc` counts lines, words, and characters in its inputs.\"\n" -"- \"`*` matches zero or more characters in a filename, so `*.txt` matches all files ending in `.txt`.\"\n" -"- \"`?` matches any single character in a filename, so `?.txt` matches `a.txt` but not `any.txt`.\"\n" +"- \"`*` matches zero or more characters in a filename, so `*.txt` matches " +"all files ending in `.txt`.\"\n" +"- \"`?` matches any single character in a filename, so `?.txt` matches `a." +"txt` but not `any.txt`.\"\n" "- \"`command > file` redirects a command's output to a file.\"\n" -"- \"`first | second` is a pipeline: the output of the first command is used as the input to the second.\"\n" -"- \"The best way to use the shell is to use pipes to combine simple single-purpose programs (filters).\"\n" +"- \"`first | second` is a pipeline: the output of the first command is used " +"as the input to the second.\"\n" +"- \"The best way to use the shell is to use pipes to combine simple single-" +"purpose programs (filters).\"\n" "---" #: shell-novice/_episodes/04-pipefilter.md:26 @@ -4932,16 +5374,20 @@ msgid "" "the ease with which it lets us combine existing programs in new ways.\n" "We'll start with a directory called `molecules`\n" "that contains six files describing some simple organic molecules.\n" -"The `.pdb` extension indicates that these files are in Protein Data Bank format,\n" -"a simple text format that specifies the type and position of each atom in the molecule." +"The `.pdb` extension indicates that these files are in Protein Data Bank " +"format,\n" +"a simple text format that specifies the type and position of each atom in " +"the molecule." msgstr "" "Now that we know a few basic commands,\n" "we can finally look at the shell's most powerful feature:\n" "the ease with which it lets us combine existing programs in new ways.\n" "We'll start with a directory called `molecules`\n" "that contains six files describing some simple organic molecules.\n" -"The `.pdb` extension indicates that these files are in Protein Data Bank format,\n" -"a simple text format that specifies the type and position of each atom in the molecule." +"The `.pdb` extension indicates that these files are in Protein Data Bank " +"format,\n" +"a simple text format that specifies the type and position of each atom in " +"the molecule." # code block #: shell-novice/_episodes/04-pipefilter.md:34 @@ -4973,13 +5419,15 @@ msgid "" "`wc` is the \"word count\" command:\n" "it counts the number of lines, words, and characters in files.\n" "The `*` in `*.pdb` matches zero or more characters,\n" -"so the shell turns `*.pdb` into a list of all `.pdb` files in the current directory:" +"so the shell turns `*.pdb` into a list of all `.pdb` files in the current " +"directory:" msgstr "" "Let's go into that directory with `cd` and run the command `wc *.pdb`.\n" "`wc` is the \"word count\" command:\n" "it counts the number of lines, words, and characters in files.\n" "The `*` in `*.pdb` matches zero or more characters,\n" -"so the shell turns `*.pdb` into a list of all `.pdb` files in the current directory:" +"so the shell turns `*.pdb` into a list of all `.pdb` files in the current " +"directory:" # code block #: shell-novice/_episodes/04-pipefilter.md:51 @@ -5019,7 +5467,7 @@ msgstr "" # blockquote, which can be cascaded #: shell-novice/_episodes/04-pipefilter.md:68 -#: shell-novice/_episodes/07-find.md:252 +#: shell-novice/_episodes/07-find.md:255 msgid "> ## Wildcards" msgstr "> ## Wildcards" @@ -5093,6 +5541,7 @@ msgid "> ## Using Wildcards" msgstr "> ## Using Wildcards" #: shell-novice/_episodes/04-pipefilter.md:102 +#, fuzzy msgid "" ">\n" "> When run in the `molecules` directory, which `ls` command(s) will\n" @@ -5108,16 +5557,22 @@ msgid "" "> > ## Solution\n" ">> The solution is `3.`\n" ">>\n" -">> `1.` shows all files that contain any number and combination of characters, \n" -">> followed by the letter `t`, another single character, and end with `ane.pdb`. \n" -">> This includes `octane.pdb` and `pentane.pdb`. \n" +">> `1.` shows all files that contain any number and combination of " +"characters, \n" +">> followed by the letter `t`, another single character, and end with `ane." +"pdb`.\n" +">> This includes `octane.pdb` and `pentane.pdb`.\n" ">>\n" -">> `2.` shows all files containing any number and combination of characters, `t`,\n" -">> another single character, `ne.` followed by any number and combination of characters.\n" -">> This will give us `octane.pdb` and `pentane.pdb` but doesn't match anything which\n" +">> `2.` shows all files containing any number and combination of characters, " +"`t`,\n" +">> another single character, `ne.` followed by any number and combination of " +"characters.\n" +">> This will give us `octane.pdb` and `pentane.pdb` but doesn't match " +"anything which\n" ">> ends in `thane.pdb`.\n" ">>\n" -">> `3.` fixes the problems of option 2 by matching two characters between `t` and `ne`. This is the solution.\n" +">> `3.` fixes the problems of option 2 by matching two characters between " +"`t` and `ne`. This is the solution.\n" ">>\n" ">> `4.` only shows files starting with `ethane.`." msgstr "" @@ -5135,27 +5590,35 @@ msgstr "" "> > ## Solution\n" ">> The solution is `3.`\n" ">>\n" -">> `1.` shows all files that contain any number and combination of characters, \n" -">> followed by the letter `t`, another single character, and end with `ane.pdb`. \n" +">> `1.` shows all files that contain any number and combination of " +"characters, \n" +">> followed by the letter `t`, another single character, and end with `ane." +"pdb`. \n" ">> This includes `octane.pdb` and `pentane.pdb`. \n" ">>\n" -">> `2.` shows all files containing any number and combination of characters, `t`,\n" -">> another single character, `ne.` followed by any number and combination of characters.\n" -">> This will give us `octane.pdb` and `pentane.pdb` but doesn't match anything which\n" -">> ends in `thane.pdb`.\n"">>\n" -">> `3.` fixes the problems of option 2 by matching two characters between `t` and `ne`. This is the solution.\n" +">> `2.` shows all files containing any number and combination of characters, " +"`t`,\n" +">> another single character, `ne.` followed by any number and combination of " +"characters.\n" +">> This will give us `octane.pdb` and `pentane.pdb` but doesn't match " +"anything which\n" +">> ends in `thane.pdb`.\n" +">>\n" +">> `3.` fixes the problems of option 2 by matching two characters between " +"`t` and `ne`. This is the solution.\n" ">>\n" ">> `4.` only shows files starting with `ethane.`." # blockquote, which can be cascaded -#: shell-novice/_episodes/04-pipefilter.md:126 +#: shell-novice/_episodes/04-pipefilter.md:131 msgid "> ## More on Wildcards" msgstr "> ## More on Wildcards" -#: shell-novice/_episodes/04-pipefilter.md:127 +#: shell-novice/_episodes/04-pipefilter.md:132 msgid "" ">\n" -"> Sam has a directory containing calibration data, datasets, and descriptions of\n" +"> Sam has a directory containing calibration data, datasets, and " +"descriptions of\n" "> the datasets:\n" ">\n" "> ~~~\n" @@ -5174,7 +5637,8 @@ msgid "" "> ~~~\n" "> {: .language-bash}\n" ">\n" -"> Before heading off to another field trip, she wants to back up her data and\n" +"> Before heading off to another field trip, she wants to back up her data " +"and\n" "> send some datasets to her colleague Bob. Sam uses the following commands\n" "> to get the job done:\n" ">\n" @@ -5197,7 +5661,8 @@ msgid "" "> > {: .language-bash}" msgstr "" ">\n" -"> Sam has a directory containing calibration data, datasets, and descriptions of\n" +"> Sam has a directory containing calibration data, datasets, and " +"descriptions of\n" "> the datasets:\n" ">\n" "> ~~~\n" @@ -5216,7 +5681,8 @@ msgstr "" "> ~~~\n" "> {: .language-bash}\n" ">\n" -"> Before heading off to another field trip, she wants to back up her data and\n" +"> Before heading off to another field trip, she wants to back up her data " +"and\n" "> send some datasets to her colleague Bob. Sam uses the following commands\n" "> to get the job done:\n" ">\n" @@ -5238,7 +5704,7 @@ msgstr "" "> > ```\n" "> > {: .language-bash}" -#: shell-novice/_episodes/04-pipefilter.md:171 +#: shell-novice/_episodes/04-pipefilter.md:176 msgid "" "If we run `wc -l` instead of just `wc`,\n" "the output shows only the number of lines per file:" @@ -5247,7 +5713,7 @@ msgstr "" "the output shows only the number of lines per file:" # code block -#: shell-novice/_episodes/04-pipefilter.md:174 +#: shell-novice/_episodes/04-pipefilter.md:179 msgid "" "~~~\n" "$ wc -l *.pdb\n" @@ -5258,8 +5724,8 @@ msgstr "" "~~~" # code block -#: shell-novice/_episodes/04-pipefilter.md:179 -#: shell-novice/_episodes/04-pipefilter.md:277 +#: shell-novice/_episodes/04-pipefilter.md:184 +#: shell-novice/_episodes/04-pipefilter.md:282 msgid "" "~~~\n" " 20 cubane.pdb\n" @@ -5281,7 +5747,7 @@ msgstr "" " 107 total\n" "~~~" -#: shell-novice/_episodes/04-pipefilter.md:190 +#: shell-novice/_episodes/04-pipefilter.md:195 msgid "" "We can also use `-w` to get only the number of words,\n" "or `-c` to get only the number of characters." @@ -5289,7 +5755,7 @@ msgstr "" "We can also use `-w` to get only the number of words,\n" "or `-c` to get only the number of characters." -#: shell-novice/_episodes/04-pipefilter.md:193 +#: shell-novice/_episodes/04-pipefilter.md:198 msgid "" "Which of these files is shortest?\n" "It's an easy question to answer when there are only six files,\n" @@ -5302,7 +5768,7 @@ msgstr "" "Our first step toward a solution is to run the command:" # code block -#: shell-novice/_episodes/04-pipefilter.md:198 +#: shell-novice/_episodes/04-pipefilter.md:203 msgid "" "~~~\n" "$ wc -l *.pdb > lengths.txt\n" @@ -5312,10 +5778,12 @@ msgstr "" "$ wc -l *.pdb > lengths.txt\n" "~~~" -#: shell-novice/_episodes/04-pipefilter.md:203 +#: shell-novice/_episodes/04-pipefilter.md:208 msgid "" -"The greater than symbol, `>`, tells the shell to **redirect** the command's output\n" -"to a file instead of printing it to the screen. (This is why there is no screen output:\n" +"The greater than symbol, `>`, tells the shell to **redirect** the command's " +"output\n" +"to a file instead of printing it to the screen. (This is why there is no " +"screen output:\n" "everything that `wc` would have printed has gone into the\n" "file `lengths.txt` instead.) The shell will create\n" "the file if it doesn't exist. If the file exists, it will be\n" @@ -5323,8 +5791,10 @@ msgid "" "some caution.\n" "`ls lengths.txt` confirms that the file exists:" msgstr "" -"The greater than symbol, `>`, tells the shell to **redirect** the command's output\n" -"to a file instead of printing it to the screen. (This is why there is no screen output:\n" +"The greater than symbol, `>`, tells the shell to **redirect** the command's " +"output\n" +"to a file instead of printing it to the screen. (This is why there is no " +"screen output:\n" "everything that `wc` would have printed has gone into the\n" "file `lengths.txt` instead.) The shell will create\n" "the file if it doesn't exist. If the file exists, it will be\n" @@ -5333,7 +5803,7 @@ msgstr "" "`ls lengths.txt` confirms that the file exists:" # code block -#: shell-novice/_episodes/04-pipefilter.md:212 +#: shell-novice/_episodes/04-pipefilter.md:217 msgid "" "~~~\n" "$ ls lengths.txt\n" @@ -5344,7 +5814,7 @@ msgstr "" "~~~" # code block -#: shell-novice/_episodes/04-pipefilter.md:217 +#: shell-novice/_episodes/04-pipefilter.md:222 msgid "" "~~~\n" "lengths.txt\n" @@ -5355,11 +5825,11 @@ msgstr "" "~~~" # blockquote, which can be cascaded -#: shell-novice/_episodes/04-pipefilter.md:222 +#: shell-novice/_episodes/04-pipefilter.md:227 msgid "> ## What Does `>>` Mean?" msgstr "> ## What Does `>>` Mean?" -#: shell-novice/_episodes/04-pipefilter.md:223 +#: shell-novice/_episodes/04-pipefilter.md:228 msgid "" ">\n" "> What is the difference between:\n" @@ -5376,7 +5846,8 @@ msgid "" "> ~~~\n" "> {: .language-bash}\n" ">\n" -"> Hint: Try executing each command twice in a row and then examining the output files." +"> Hint: Try executing each command twice in a row and then examining the " +"output files." msgstr "" ">\n" "> What is the difference between:\n" @@ -5393,14 +5864,15 @@ msgstr "" "> ~~~\n" "> {: .language-bash}\n" ">\n" -"> Hint: Try executing each command twice in a row and then examining the output files." +"> Hint: Try executing each command twice in a row and then examining the " +"output files." # blockquote, which can be cascaded -#: shell-novice/_episodes/04-pipefilter.md:241 +#: shell-novice/_episodes/04-pipefilter.md:246 msgid "> ## Appending Data" msgstr "> ## Appending Data" -#: shell-novice/_episodes/04-pipefilter.md:242 +#: shell-novice/_episodes/04-pipefilter.md:247 msgid "" ">\n" "> Consider the file `data-shell/data/animals.txt`.\n" @@ -5422,7 +5894,8 @@ msgid "" "> > Option 3 is correct. \n" "> > For option 1 to be correct we would only run the `head` command.\n" "> > For option 2 to be correct we would only run the `tail` command.\n" -"> > For option 4 to be correct we would have to pipe the output of `head` into `tail -2` by doing `head -3 animals.txt | tail -2 >> animalsUpd.txt`" +"> > For option 4 to be correct we would have to pipe the output of `head` " +"into `tail -2` by doing `head -3 animals.txt | tail -2 >> animalsUpd.txt`" msgstr "" ">\n" "> Consider the file `data-shell/data/animals.txt`.\n" @@ -5444,24 +5917,27 @@ msgstr "" "> > Option 3 is correct. \n" "> > For option 1 to be correct we would only run the `head` command.\n" "> > For option 2 to be correct we would only run the `tail` command.\n" -"> > For option 4 to be correct we would have to pipe the output of `head` into `tail -2` by doing `head -3 animals.txt | tail -2 >> animalsUpd.txt`" +"> > For option 4 to be correct we would have to pipe the output of `head` " +"into `tail -2` by doing `head -3 animals.txt | tail -2 >> animalsUpd.txt`" -#: shell-novice/_episodes/04-pipefilter.md:266 +#: shell-novice/_episodes/04-pipefilter.md:271 msgid "" -"We can now send the content of `lengths.txt` to the screen using `cat lengths.txt`.\n" +"We can now send the content of `lengths.txt` to the screen using `cat " +"lengths.txt`.\n" "`cat` stands for \"concatenate\":\n" "it prints the contents of files one after another.\n" "There's only one file in this case,\n" "so `cat` just shows us what it contains:" msgstr "" -"We can now send the content of `lengths.txt` to the screen using `cat lengths.txt`.\n" +"We can now send the content of `lengths.txt` to the screen using `cat " +"lengths.txt`.\n" "`cat` stands for \"concatenate\":\n" "it prints the contents of files one after another.\n" "There's only one file in this case,\n" "so `cat` just shows us what it contains:" # code block -#: shell-novice/_episodes/04-pipefilter.md:272 +#: shell-novice/_episodes/04-pipefilter.md:277 msgid "" "~~~\n" "$ cat lengths.txt\n" @@ -5472,15 +5948,17 @@ msgstr "" "~~~" # blockquote, which can be cascaded -#: shell-novice/_episodes/04-pipefilter.md:288 +#: shell-novice/_episodes/04-pipefilter.md:293 msgid "> ## Output Page by Page" msgstr "> ## Output Page by Page" -#: shell-novice/_episodes/04-pipefilter.md:289 +#: shell-novice/_episodes/04-pipefilter.md:294 msgid "" ">\n" -"> We'll continue to use `cat` in this lesson, for convenience and consistency,\n" -"> but it has the disadvantage that it always dumps the whole file onto your screen.\n" +"> We'll continue to use `cat` in this lesson, for convenience and " +"consistency,\n" +"> but it has the disadvantage that it always dumps the whole file onto your " +"screen.\n" "> More useful in practice is the command `less`,\n" "> which you use with `$ less lengths.txt`.\n" "> This displays a screenful of the file, and then stops.\n" @@ -5488,24 +5966,26 @@ msgid "" "> or back one by pressing `b`. Press `q` to quit." msgstr "" ">\n" -"> We'll continue to use `cat` in this lesson, for convenience and consistency,\n" -"> but it has the disadvantage that it always dumps the whole file onto your screen.\n" +"> We'll continue to use `cat` in this lesson, for convenience and " +"consistency,\n" +"> but it has the disadvantage that it always dumps the whole file onto your " +"screen.\n" "> More useful in practice is the command `less`,\n" "> which you use with `$ less lengths.txt`.\n" "> This displays a screenful of the file, and then stops.\n" "> You can go forward one screenful by pressing the spacebar,\n" "> or back one by pressing `b`. Press `q` to quit." -#: shell-novice/_episodes/04-pipefilter.md:299 +#: shell-novice/_episodes/04-pipefilter.md:304 msgid "Now let's use the `sort` command to sort its contents." msgstr "Now let's use the `sort` command to sort its contents." # blockquote, which can be cascaded -#: shell-novice/_episodes/04-pipefilter.md:301 +#: shell-novice/_episodes/04-pipefilter.md:306 msgid "> ## What Does `sort -n` Do?" msgstr "> ## What Does `sort -n` Do?" -#: shell-novice/_episodes/04-pipefilter.md:302 +#: shell-novice/_episodes/04-pipefilter.md:307 msgid "" ">\n" "> If we run `sort` on a file containing the following lines:\n" @@ -5530,16 +6010,16 @@ msgstr "" "> ~~~" # SC/DC Template label -#: shell-novice/_episodes/04-pipefilter.md:312 -#: shell-novice/_episodes/04-pipefilter.md:620 -#: shell-novice/_episodes/04-pipefilter.md:658 +#: shell-novice/_episodes/04-pipefilter.md:317 +#: shell-novice/_episodes/04-pipefilter.md:625 +#: shell-novice/_episodes/04-pipefilter.md:663 #: shell-novice/_episodes/05-loop.md:348 #: shell-novice/_episodes/06-script.md:288 -#: shell-novice/_episodes/07-find.md:294 shell-novice/_episodes/07-find.md:305 +#: shell-novice/_episodes/07-find.md:297 shell-novice/_episodes/07-find.md:308 msgid "> {: .source}" msgstr "> {: .source}" -#: shell-novice/_episodes/04-pipefilter.md:313 +#: shell-novice/_episodes/04-pipefilter.md:318 msgid "" ">\n" "> the output is:\n" @@ -5563,7 +6043,7 @@ msgstr "" "> 6\n" "> ~~~" -#: shell-novice/_episodes/04-pipefilter.md:324 +#: shell-novice/_episodes/04-pipefilter.md:329 msgid "" ">\n" "> If we run `sort -n` on the same input, we get this instead:\n" @@ -5587,7 +6067,7 @@ msgstr "" "> 22\n" "> ~~~" -#: shell-novice/_episodes/04-pipefilter.md:335 +#: shell-novice/_episodes/04-pipefilter.md:340 msgid "" ">\n" "> Explain why `-n` has this effect.\n" @@ -5601,7 +6081,7 @@ msgstr "" "> > ## Solution\n" "> > The `-n` flag specifies a numeric sort, rather than alphabetical." -#: shell-novice/_episodes/04-pipefilter.md:343 +#: shell-novice/_episodes/04-pipefilter.md:348 msgid "" "We will also use the `-n` flag to specify that the sort is\n" "numerical instead of alphabetical.\n" @@ -5614,7 +6094,7 @@ msgstr "" "instead, it sends the sorted result to the screen:" # code block -#: shell-novice/_episodes/04-pipefilter.md:348 +#: shell-novice/_episodes/04-pipefilter.md:353 msgid "" "~~~\n" "$ sort -n lengths.txt\n" @@ -5625,7 +6105,7 @@ msgstr "" "~~~" # code block -#: shell-novice/_episodes/04-pipefilter.md:353 +#: shell-novice/_episodes/04-pipefilter.md:358 msgid "" "~~~\n" " 9 methane.pdb\n" @@ -5647,22 +6127,28 @@ msgstr "" "107 total\n" "~~~" -#: shell-novice/_episodes/04-pipefilter.md:364 +#: shell-novice/_episodes/04-pipefilter.md:369 msgid "" -"We can put the sorted list of lines in another temporary file called `sorted-lengths.txt`\n" +"We can put the sorted list of lines in another temporary file called `sorted-" +"lengths.txt`\n" "by putting `> sorted-lengths.txt` after the command,\n" -"just as we used `> lengths.txt` to put the output of `wc` into `lengths.txt`.\n" +"just as we used `> lengths.txt` to put the output of `wc` into `lengths." +"txt`.\n" "Once we've done that,\n" -"we can run another command called `head` to get the first few lines in `sorted-lengths.txt`:" +"we can run another command called `head` to get the first few lines in " +"`sorted-lengths.txt`:" msgstr "" -"We can put the sorted list of lines in another temporary file called `sorted-lengths.txt`\n" +"We can put the sorted list of lines in another temporary file called `sorted-" +"lengths.txt`\n" "by putting `> sorted-lengths.txt` after the command,\n" -"just as we used `> lengths.txt` to put the output of `wc` into `lengths.txt`.\n" +"just as we used `> lengths.txt` to put the output of `wc` into `lengths." +"txt`.\n" "Once we've done that,\n" -"we can run another command called `head` to get the first few lines in `sorted-lengths.txt`:" +"we can run another command called `head` to get the first few lines in " +"`sorted-lengths.txt`:" # code block -#: shell-novice/_episodes/04-pipefilter.md:370 +#: shell-novice/_episodes/04-pipefilter.md:375 msgid "" "~~~\n" "$ sort -n lengths.txt > sorted-lengths.txt\n" @@ -5675,8 +6161,8 @@ msgstr "" "~~~" # code block -#: shell-novice/_episodes/04-pipefilter.md:376 -#: shell-novice/_episodes/04-pipefilter.md:415 +#: shell-novice/_episodes/04-pipefilter.md:381 +#: shell-novice/_episodes/04-pipefilter.md:420 msgid "" "~~~\n" " 9 methane.pdb\n" @@ -5686,28 +6172,30 @@ msgstr "" " 9 methane.pdb\n" "~~~" -#: shell-novice/_episodes/04-pipefilter.md:381 +#: shell-novice/_episodes/04-pipefilter.md:386 msgid "" "Using `-n 1` with `head` tells it that\n" "we only want the first line of the file;\n" "`-n 20` would get the first 20,\n" "and so on.\n" -"Since `sorted-lengths.txt` contains the lengths of our files ordered from least to greatest,\n" +"Since `sorted-lengths.txt` contains the lengths of our files ordered from " +"least to greatest,\n" "the output of `head` must be the file with the fewest lines." msgstr "" "Using `-n 1` with `head` tells it that\n" "we only want the first line of the file;\n" "`-n 20` would get the first 20,\n" "and so on.\n" -"Since `sorted-lengths.txt` contains the lengths of our files ordered from least to greatest,\n" +"Since `sorted-lengths.txt` contains the lengths of our files ordered from " +"least to greatest,\n" "the output of `head` must be the file with the fewest lines." # blockquote, which can be cascaded -#: shell-novice/_episodes/04-pipefilter.md:388 +#: shell-novice/_episodes/04-pipefilter.md:393 msgid "> ## Redirecting to the same file" msgstr "> ## Redirecting to the same file" -#: shell-novice/_episodes/04-pipefilter.md:389 +#: shell-novice/_episodes/04-pipefilter.md:394 msgid "" ">\n" "> It's a very bad idea to try redirecting\n" @@ -5737,7 +6225,7 @@ msgstr "" "> incorrect results and/or delete\n" "> the contents of `lengths.txt`." -#: shell-novice/_episodes/04-pipefilter.md:404 +#: shell-novice/_episodes/04-pipefilter.md:409 msgid "" "If you think this is confusing,\n" "you're in good company:\n" @@ -5752,7 +6240,7 @@ msgstr "" "We can make it easier to understand by running `sort` and `head` together:" # code block -#: shell-novice/_episodes/04-pipefilter.md:410 +#: shell-novice/_episodes/04-pipefilter.md:415 msgid "" "~~~\n" "$ sort -n lengths.txt | head -n 1\n" @@ -5762,7 +6250,7 @@ msgstr "" "$ sort -n lengths.txt | head -n 1\n" "~~~" -#: shell-novice/_episodes/04-pipefilter.md:420 +#: shell-novice/_episodes/04-pipefilter.md:425 msgid "" "The vertical bar, `|`, between the two commands is called a **pipe**.\n" "It tells the shell that we want to use\n" @@ -5782,7 +6270,7 @@ msgstr "" "or something else entirely;\n" "we don't have to know or care." -#: shell-novice/_episodes/04-pipefilter.md:429 +#: shell-novice/_episodes/04-pipefilter.md:434 msgid "" "Nothing prevents us from chaining pipes consecutively.\n" "That is, we can for example send the output of `wc` directly to `sort`,\n" @@ -5795,7 +6283,7 @@ msgstr "" "Thus we first use a pipe to send the output of `wc` to `sort`:" # code block -#: shell-novice/_episodes/04-pipefilter.md:434 +#: shell-novice/_episodes/04-pipefilter.md:439 #: shell-novice/_episodes/06-script.md:223 msgid "" "~~~\n" @@ -5807,7 +6295,7 @@ msgstr "" "~~~" # code block -#: shell-novice/_episodes/04-pipefilter.md:439 +#: shell-novice/_episodes/04-pipefilter.md:444 msgid "" "~~~\n" " 9 methane.pdb\n" @@ -5829,12 +6317,16 @@ msgstr "" " 107 total\n" "~~~" -#: shell-novice/_episodes/04-pipefilter.md:450 -msgid "And now we send the output of this pipe, through another pipe, to `head`, so that the full pipeline becomes:" -msgstr "And now we send the output of this pipe, through another pipe, to `head`, so that the full pipeline becomes:" +#: shell-novice/_episodes/04-pipefilter.md:455 +msgid "" +"And now we send the output of this pipe, through another pipe, to `head`, so " +"that the full pipeline becomes:" +msgstr "" +"And now we send the output of this pipe, through another pipe, to `head`, so " +"that the full pipeline becomes:" # code block -#: shell-novice/_episodes/04-pipefilter.md:452 +#: shell-novice/_episodes/04-pipefilter.md:457 msgid "" "~~~\n" "$ wc -l *.pdb | sort -n | head -n 1\n" @@ -5845,7 +6337,7 @@ msgstr "" "~~~" # code block -#: shell-novice/_episodes/04-pipefilter.md:457 +#: shell-novice/_episodes/04-pipefilter.md:462 msgid "" "~~~\n" " 9 methane.pdb\n" @@ -5855,7 +6347,7 @@ msgstr "" " 9 methane.pdb\n" "~~~" -#: shell-novice/_episodes/04-pipefilter.md:462 +#: shell-novice/_episodes/04-pipefilter.md:467 msgid "" "This is exactly like a mathematician nesting functions like *log(3x)*\n" "and saying \"the log of three times *x*\".\n" @@ -5868,14 +6360,15 @@ msgstr "" "the calculation is \"head of sort of line count of `*.pdb`\"." # blockquote, which can be cascaded -#: shell-novice/_episodes/04-pipefilter.md:467 +#: shell-novice/_episodes/04-pipefilter.md:472 msgid "> ## Piping Commands Together" msgstr "> ## Piping Commands Together" -#: shell-novice/_episodes/04-pipefilter.md:468 +#: shell-novice/_episodes/04-pipefilter.md:473 msgid "" ">\n" -"> In our current directory, we want to find the 3 files which have the least number of\n" +"> In our current directory, we want to find the 3 files which have the least " +"number of\n" "> lines. Which command listed below would work?\n" ">\n" "> 1. `wc -l * > sort -n > head -n 3`\n" @@ -5885,13 +6378,15 @@ msgid "" ">\n" "> > ## Solution\n" "> > Option 4 is the solution.\n" -"> > The pipe character `|` is used to feed the standard output from one process to\n" +"> > The pipe character `|` is used to feed the standard output from one " +"process to\n" "> > the standard input of another.\n" "> > `>` is used to redirect standard output to a file.\n" "> > Try it in the `data-shell/molecules` directory!" msgstr "" ">\n" -"> In our current directory, we want to find the 3 files which have the least number of\n" +"> In our current directory, we want to find the 3 files which have the least " +"number of\n" "> lines. Which command listed below would work?\n" ">\n" "> 1. `wc -l * > sort -n > head -n 3`\n" @@ -5901,80 +6396,96 @@ msgstr "" ">\n" "> > ## Solution\n" "> > Option 4 is the solution.\n" -"> > The pipe character `|` is used to feed the standard output from one process to\n" +"> > The pipe character `|` is used to feed the standard output from one " +"process to\n" "> > the standard input of another.\n" "> > `>` is used to redirect standard output to a file.\n" "> > Try it in the `data-shell/molecules` directory!" -#: shell-novice/_episodes/04-pipefilter.md:486 +#: shell-novice/_episodes/04-pipefilter.md:491 msgid "" "Here's what actually happens behind the scenes when we create a pipe.\n" "When a computer runs a program --- any program --- it creates a **process**\n" "in memory to hold the program's software and its current state.\n" "Every process has an input channel called **standard input**.\n" -"(By this point, you may be surprised that the name is so memorable, but don't worry:\n" +"(By this point, you may be surprised that the name is so memorable, but " +"don't worry:\n" "most Unix programmers call it \"stdin\").\n" "Every process also has a default output channel called **standard output**\n" -"(or \"stdout\"). A second output channel called **standard error** (stderr) also\n" -"exists. This channel is typically used for error or diagnostic messages, and it\n" -"allows a user to pipe the output of one program into another while still receiving \n" +"(or \"stdout\"). A second output channel called **standard error** (stderr) " +"also\n" +"exists. This channel is typically used for error or diagnostic messages, and " +"it\n" +"allows a user to pipe the output of one program into another while still " +"receiving \n" "error messages in the terminal. " msgstr "" "Here's what actually happens behind the scenes when we create a pipe.\n" "When a computer runs a program --- any program --- it creates a **process**\n" "in memory to hold the program's software and its current state.\n" "Every process has an input channel called **standard input**.\n" -"(By this point, you may be surprised that the name is so memorable, but don't worry:\n" +"(By this point, you may be surprised that the name is so memorable, but " +"don't worry:\n" "most Unix programmers call it \"stdin\").\n" "Every process also has a default output channel called **standard output**\n" -"(or \"stdout\"). A second output channel called **standard error** (stderr) also\n" -"exists. This channel is typically used for error or diagnostic messages, and it\n" -"allows a user to pipe the output of one program into another while still receiving \n" +"(or \"stdout\"). A second output channel called **standard error** (stderr) " +"also\n" +"exists. This channel is typically used for error or diagnostic messages, and " +"it\n" +"allows a user to pipe the output of one program into another while still " +"receiving \n" "error messages in the terminal. " -#: shell-novice/_episodes/04-pipefilter.md:498 +#: shell-novice/_episodes/04-pipefilter.md:503 msgid "" "The shell is actually just another program.\n" "Under normal circumstances,\n" -"whatever we type on the keyboard is sent to the shell on its standard input,\n" +"whatever we type on the keyboard is sent to the shell on its standard " +"input,\n" "and whatever it produces on standard output is displayed on our screen.\n" "When we tell the shell to run a program,\n" "it creates a new process\n" -"and temporarily sends whatever we type on our keyboard to that process's standard input,\n" +"and temporarily sends whatever we type on our keyboard to that process's " +"standard input,\n" "and whatever the process sends to standard output to the screen." msgstr "" "The shell is actually just another program.\n" "Under normal circumstances,\n" -"whatever we type on the keyboard is sent to the shell on its standard input,\n" +"whatever we type on the keyboard is sent to the shell on its standard " +"input,\n" "and whatever it produces on standard output is displayed on our screen.\n" "When we tell the shell to run a program,\n" "it creates a new process\n" -"and temporarily sends whatever we type on our keyboard to that process's standard input,\n" +"and temporarily sends whatever we type on our keyboard to that process's " +"standard input,\n" "and whatever the process sends to standard output to the screen." -#: shell-novice/_episodes/04-pipefilter.md:507 +#: shell-novice/_episodes/04-pipefilter.md:512 msgid "" "Here's what happens when we run `wc -l *.pdb > lengths.txt`.\n" -"The shell starts by telling the computer to create a new process to run the `wc` program.\n" +"The shell starts by telling the computer to create a new process to run the " +"`wc` program.\n" "Since we've provided some filenames as arguments,\n" "`wc` reads from them instead of from standard input.\n" "And since we've used `>` to redirect output to a file,\n" "the shell connects the process's standard output to that file." msgstr "" "Here's what happens when we run `wc -l *.pdb > lengths.txt`.\n" -"The shell starts by telling the computer to create a new process to run the `wc` program.\n" +"The shell starts by telling the computer to create a new process to run the " +"`wc` program.\n" "Since we've provided some filenames as arguments,\n" "`wc` reads from them instead of from standard input.\n" "And since we've used `>` to redirect output to a file,\n" "the shell connects the process's standard output to that file." -#: shell-novice/_episodes/04-pipefilter.md:514 +#: shell-novice/_episodes/04-pipefilter.md:519 msgid "" "If we run `wc -l *.pdb | sort -n` instead,\n" "the shell creates two processes\n" "(one for each process in the pipe)\n" "so that `wc` and `sort` run simultaneously.\n" -"The standard output of `wc` is fed directly to the standard input of `sort`;\n" +"The standard output of `wc` is fed directly to the standard input of " +"`sort`;\n" "since there's no redirection with `>`,\n" "`sort`'s output goes to the screen.\n" "And if we run `wc -l *.pdb | sort -n | head -n 1`,\n" @@ -5986,7 +6497,8 @@ msgstr "" "the shell creates two processes\n" "(one for each process in the pipe)\n" "so that `wc` and `sort` run simultaneously.\n" -"The standard output of `wc` is fed directly to the standard input of `sort`;\n" +"The standard output of `wc` is fed directly to the standard input of " +"`sort`;\n" "since there's no redirection with `>`,\n" "`sort`'s output goes to the screen.\n" "And if we run `wc -l *.pdb | sort -n | head -n 1`,\n" @@ -5994,15 +6506,16 @@ msgstr "" "through `wc` to `sort`,\n" "and from `sort` through `head` to the screen." -#: shell-novice/_episodes/04-pipefilter.md:526 +#: shell-novice/_episodes/04-pipefilter.md:531 msgid "![Redirects and Pipes](../fig/redirects-and-pipes.png)" msgstr "![Redirects and Pipes](../fig/redirects-and-pipes.png)" -#: shell-novice/_episodes/04-pipefilter.md:528 +#: shell-novice/_episodes/04-pipefilter.md:533 msgid "" "This simple idea is why Unix has been so successful.\n" "Instead of creating enormous programs that try to do many different things,\n" -"Unix programmers focus on creating lots of simple tools that each do one job well,\n" +"Unix programmers focus on creating lots of simple tools that each do one job " +"well,\n" "and that work well with each other.\n" "This programming model is called \"pipes and filters\".\n" "We've already seen pipes;\n" @@ -6016,7 +6529,8 @@ msgid "" msgstr "" "This simple idea is why Unix has been so successful.\n" "Instead of creating enormous programs that try to do many different things,\n" -"Unix programmers focus on creating lots of simple tools that each do one job well,\n" +"Unix programmers focus on creating lots of simple tools that each do one job " +"well,\n" "and that work well with each other.\n" "This programming model is called \"pipes and filters\".\n" "We've already seen pipes;\n" @@ -6028,26 +6542,28 @@ msgstr "" "do something with what they've read,\n" "and write to standard output." -#: shell-novice/_episodes/04-pipefilter.md:542 +#: shell-novice/_episodes/04-pipefilter.md:547 msgid "" "The key is that any program that reads lines of text from standard input\n" "and writes lines of text to standard output\n" "can be combined with every other program that behaves this way as well.\n" "You can *and should* write your programs this way\n" -"so that you and other people can put those programs into pipes to multiply their power." +"so that you and other people can put those programs into pipes to multiply " +"their power." msgstr "" "The key is that any program that reads lines of text from standard input\n" "and writes lines of text to standard output\n" "can be combined with every other program that behaves this way as well.\n" "You can *and should* write your programs this way\n" -"so that you and other people can put those programs into pipes to multiply their power." +"so that you and other people can put those programs into pipes to multiply " +"their power." # blockquote, which can be cascaded -#: shell-novice/_episodes/04-pipefilter.md:548 +#: shell-novice/_episodes/04-pipefilter.md:553 msgid "> ## Redirecting Input" msgstr "> ## Redirecting Input" -#: shell-novice/_episodes/04-pipefilter.md:549 +#: shell-novice/_episodes/04-pipefilter.md:554 msgid "" ">\n" "> As well as using `>` to redirect a program's output, we can use `<` to\n" @@ -6070,14 +6586,15 @@ msgstr "" "> standard input." # blockquote, which can be cascaded -#: shell-novice/_episodes/04-pipefilter.md:560 +#: shell-novice/_episodes/04-pipefilter.md:565 msgid "> ## What Does `<` Mean?" msgstr "> ## What Does `<` Mean?" -#: shell-novice/_episodes/04-pipefilter.md:561 +#: shell-novice/_episodes/04-pipefilter.md:566 msgid "" ">\n" -"> Change directory to `data-shell` (the top level of our downloaded example data).\n" +"> Change directory to `data-shell` (the top level of our downloaded example " +"data).\n" ">\n" "> What is the difference between:\n" ">\n" @@ -6096,14 +6613,19 @@ msgid "" "> > ## Solution\n" "> > `<` is used to redirect input to a command. \n" "> >\n" -"> > In both examples, the shell returns the number of lines from the input to\n" +"> > In both examples, the shell returns the number of lines from the input " +"to\n" "> > the `wc` command.\n" -"> > In the first example, the input is the file `notes.txt` and the file name is\n" +"> > In the first example, the input is the file `notes.txt` and the file " +"name is\n" "> > given in the output from the `wc` command.\n" -"> > In the second example, the contents of the file `notes.txt` are redirected to\n" +"> > In the second example, the contents of the file `notes.txt` are " +"redirected to\n" "> > standard input.\n" -"> > It is as if we have entered the contents of the file by typing at the prompt.\n" -"> > Hence the file name is not given in the output - just the number of lines.\n" +"> > It is as if we have entered the contents of the file by typing at the " +"prompt.\n" +"> > Hence the file name is not given in the output - just the number of " +"lines.\n" "> > Try this for yourself:\n" "> >\n" "> > ```\n" @@ -6121,7 +6643,8 @@ msgid "" "> > {: .output}" msgstr "" ">\n" -"> Change directory to `data-shell` (the top level of our downloaded example data).\n" +"> Change directory to `data-shell` (the top level of our downloaded example " +"data).\n" ">\n" "> What is the difference between:\n" ">\n" @@ -6140,14 +6663,19 @@ msgstr "" "> > ## Solution\n" "> > `<` is used to redirect input to a command. \n" "> >\n" -"> > In both examples, the shell returns the number of lines from the input to\n" +"> > In both examples, the shell returns the number of lines from the input " +"to\n" "> > the `wc` command.\n" -"> > In the first example, the input is the file `notes.txt` and the file name is\n" +"> > In the first example, the input is the file `notes.txt` and the file " +"name is\n" "> > given in the output from the `wc` command.\n" -"> > In the second example, the contents of the file `notes.txt` are redirected to\n" +"> > In the second example, the contents of the file `notes.txt` are " +"redirected to\n" "> > standard input.\n" -"> > It is as if we have entered the contents of the file by typing at the prompt.\n" -"> > Hence the file name is not given in the output - just the number of lines.\n" +"> > It is as if we have entered the contents of the file by typing at the " +"prompt.\n" +"> > Hence the file name is not given in the output - just the number of " +"lines.\n" "> > Try this for yourself:\n" "> >\n" "> > ```\n" @@ -6165,11 +6693,11 @@ msgstr "" "> > {: .output}" # blockquote, which can be cascaded -#: shell-novice/_episodes/04-pipefilter.md:607 +#: shell-novice/_episodes/04-pipefilter.md:612 msgid "> ## Why Does `uniq` Only Remove Adjacent Duplicates?" msgstr "> ## Why Does `uniq` Only Remove Adjacent Duplicates?" -#: shell-novice/_episodes/04-pipefilter.md:608 +#: shell-novice/_episodes/04-pipefilter.md:613 msgid "" ">\n" "> The command `uniq` removes adjacent duplicated lines from its input.\n" @@ -6197,10 +6725,11 @@ msgstr "" "> steelhead\n" "> ~~~" -#: shell-novice/_episodes/04-pipefilter.md:621 +#: shell-novice/_episodes/04-pipefilter.md:626 msgid "" ">\n" -"> Running the command `uniq salmon.txt` from the `data-shell/data` directory produces:\n" +"> Running the command `uniq salmon.txt` from the `data-shell/data` directory " +"produces:\n" ">\n" "> ~~~\n" "> coho\n" @@ -6210,7 +6739,8 @@ msgid "" "> ~~~" msgstr "" ">\n" -"> Running the command `uniq salmon.txt` from the `data-shell/data` directory produces:\n" +"> Running the command `uniq salmon.txt` from the `data-shell/data` directory " +"produces:\n" ">\n" "> ~~~\n" "> coho\n" @@ -6219,7 +6749,7 @@ msgstr "" "> steelhead\n" "> ~~~" -#: shell-novice/_episodes/04-pipefilter.md:631 +#: shell-novice/_episodes/04-pipefilter.md:636 msgid "" ">\n" "> Why do you think `uniq` only removes *adjacent* duplicated lines?\n" @@ -6244,14 +6774,15 @@ msgstr "" "> > {: .language-bash}" # blockquote, which can be cascaded -#: shell-novice/_episodes/04-pipefilter.md:644 +#: shell-novice/_episodes/04-pipefilter.md:649 msgid "> ## Pipe Reading Comprehension" msgstr "> ## Pipe Reading Comprehension" -#: shell-novice/_episodes/04-pipefilter.md:645 +#: shell-novice/_episodes/04-pipefilter.md:650 msgid "" ">\n" -"> A file called `animals.txt` (in the `data-shell/data` folder) contains the following data:\n" +"> A file called `animals.txt` (in the `data-shell/data` folder) contains the " +"following data:\n" ">\n" "> ~~~\n" "> 2012-11-05,deer\n" @@ -6265,7 +6796,8 @@ msgid "" "> ~~~" msgstr "" ">\n" -"> A file called `animals.txt` (in the `data-shell/data` folder) contains the following data:\n" +"> A file called `animals.txt` (in the `data-shell/data` folder) contains the " +"following data:\n" ">\n" "> ~~~\n" "> 2012-11-05,deer\n" @@ -6278,32 +6810,36 @@ msgstr "" "> 2012-11-07,bear\n" "> ~~~" -#: shell-novice/_episodes/04-pipefilter.md:659 +#: shell-novice/_episodes/04-pipefilter.md:664 msgid "" ">\n" -"> What text passes through each of the pipes and the final redirect in the pipeline below?\n" +"> What text passes through each of the pipes and the final redirect in the " +"pipeline below?\n" ">\n" "> ~~~\n" "> $ cat animals.txt | head -n 5 | tail -n 3 | sort -r > final.txt\n" "> ~~~\n" "> {: .language-bash}\n" -"> Hint: build the pipeline up one command at a time to test your understanding" +"> Hint: build the pipeline up one command at a time to test your " +"understanding" msgstr "" ">\n" -"> What text passes through each of the pipes and the final redirect in the pipeline below?\n" +"> What text passes through each of the pipes and the final redirect in the " +"pipeline below?\n" ">\n" "> ~~~\n" "> $ cat animals.txt | head -n 5 | tail -n 3 | sort -r > final.txt\n" "> ~~~\n" "> {: .language-bash}\n" -"> Hint: build the pipeline up one command at a time to test your understanding" +"> Hint: build the pipeline up one command at a time to test your " +"understanding" # blockquote, which can be cascaded -#: shell-novice/_episodes/04-pipefilter.md:669 +#: shell-novice/_episodes/04-pipefilter.md:674 msgid "> ## Pipe Construction" msgstr "> ## Pipe Construction" -#: shell-novice/_episodes/04-pipefilter.md:670 +#: shell-novice/_episodes/04-pipefilter.md:675 msgid "" ">\n" "> For the file `animals.txt` from the previous exercise, the command:\n" @@ -6349,7 +6885,7 @@ msgstr "" "> bear\n" "> ~~~" -#: shell-novice/_episodes/04-pipefilter.md:692 +#: shell-novice/_episodes/04-pipefilter.md:697 msgid "" ">\n" "> What other command(s) could be added to this in a pipeline to find\n" @@ -6374,11 +6910,11 @@ msgstr "" "> > {: .language-bash}" # blockquote, which can be cascaded -#: shell-novice/_episodes/04-pipefilter.md:705 +#: shell-novice/_episodes/04-pipefilter.md:710 msgid "> ## Which Pipe?" msgstr "> ## Which Pipe?" -#: shell-novice/_episodes/04-pipefilter.md:706 +#: shell-novice/_episodes/04-pipefilter.md:711 msgid "" ">\n" "> The file `animals.txt` contains 586 lines of data formatted as follows:\n" @@ -6402,7 +6938,7 @@ msgstr "" "> ...\n" "> ~~~" -#: shell-novice/_episodes/04-pipefilter.md:717 +#: shell-novice/_episodes/04-pipefilter.md:722 msgid "" ">\n" "> Assuming your current directory is `data-shell/data/`,\n" @@ -6418,7 +6954,8 @@ msgid "" ">\n" "> > ## Solution\n" "> > Option 5. is the correct answer.\n" -"> > If you have difficulty understanding why, try running the commands, or sub-sections of\n" +"> > If you have difficulty understanding why, try running the commands, or " +"sub-sections of\n" "> > the pipelines (make sure you are in the `data-shell/data` directory)." msgstr "" ">\n" @@ -6435,26 +6972,29 @@ msgstr "" ">\n" "> > ## Solution\n" "> > Option 5. is the correct answer.\n" -"> > If you have difficulty understanding why, try running the commands, or sub-sections of\n" +"> > If you have difficulty understanding why, try running the commands, or " +"sub-sections of\n" "> > the pipelines (make sure you are in the `data-shell/data` directory)." # header -#: shell-novice/_episodes/04-pipefilter.md:736 +#: shell-novice/_episodes/04-pipefilter.md:741 msgid "## Nelle's Pipeline: Checking Files" msgstr "## Nelle's Pipeline: Checking Files" -#: shell-novice/_episodes/04-pipefilter.md:738 +#: shell-novice/_episodes/04-pipefilter.md:743 msgid "" "Nelle has run her samples through the assay machines\n" -"and created 17 files in the `north-pacific-gyre/2012-07-03` directory described earlier.\n" +"and created 17 files in the `north-pacific-gyre/2012-07-03` directory " +"described earlier.\n" "As a quick sanity check, starting from her home directory, Nelle types:" msgstr "" "Nelle has run her samples through the assay machines\n" -"and created 17 files in the `north-pacific-gyre/2012-07-03` directory described earlier.\n" +"and created 17 files in the `north-pacific-gyre/2012-07-03` directory " +"described earlier.\n" "As a quick sanity check, starting from her home directory, Nelle types:" # code block -#: shell-novice/_episodes/04-pipefilter.md:742 +#: shell-novice/_episodes/04-pipefilter.md:747 msgid "" "~~~\n" "$ cd north-pacific-gyre/2012-07-03\n" @@ -6466,12 +7006,12 @@ msgstr "" "$ wc -l *.txt\n" "~~~" -#: shell-novice/_episodes/04-pipefilter.md:748 +#: shell-novice/_episodes/04-pipefilter.md:753 msgid "The output is 18 lines that look like this:" msgstr "The output is 18 lines that look like this:" # code block -#: shell-novice/_episodes/04-pipefilter.md:750 +#: shell-novice/_episodes/04-pipefilter.md:755 msgid "" "~~~\n" "300 NENE01729A.txt\n" @@ -6493,12 +7033,12 @@ msgstr "" "... ...\n" "~~~" -#: shell-novice/_episodes/04-pipefilter.md:761 +#: shell-novice/_episodes/04-pipefilter.md:766 msgid "Now she types this:" msgstr "Now she types this:" # code block -#: shell-novice/_episodes/04-pipefilter.md:763 +#: shell-novice/_episodes/04-pipefilter.md:768 msgid "" "~~~\n" "$ wc -l *.txt | sort -n | head -n 5\n" @@ -6509,7 +7049,7 @@ msgstr "" "~~~" # code block -#: shell-novice/_episodes/04-pipefilter.md:768 +#: shell-novice/_episodes/04-pipefilter.md:773 msgid "" "~~~\n" " 240 NENE02018B.txt\n" @@ -6527,7 +7067,7 @@ msgstr "" " 300 NENE01751A.txt\n" "~~~" -#: shell-novice/_episodes/04-pipefilter.md:777 +#: shell-novice/_episodes/04-pipefilter.md:782 msgid "" "Whoops: one of the files is 60 lines shorter than the others.\n" "When she goes back and checks it,\n" @@ -6546,7 +7086,7 @@ msgstr "" "she checks to see if any files have too much data:" # code block -#: shell-novice/_episodes/04-pipefilter.md:785 +#: shell-novice/_episodes/04-pipefilter.md:790 msgid "" "~~~\n" "$ wc -l *.txt | sort -n | tail -n 5\n" @@ -6557,7 +7097,7 @@ msgstr "" "~~~" # code block -#: shell-novice/_episodes/04-pipefilter.md:790 +#: shell-novice/_episodes/04-pipefilter.md:795 msgid "" "~~~\n" " 300 NENE02040B.txt\n" @@ -6575,22 +7115,24 @@ msgstr "" "5040 total\n" "~~~" -#: shell-novice/_episodes/04-pipefilter.md:799 +#: shell-novice/_episodes/04-pipefilter.md:804 msgid "" -"Those numbers look good --- but what's that 'Z' doing there in the third-to-last line?\n" +"Those numbers look good --- but what's that 'Z' doing there in the third-to-" +"last line?\n" "All of her samples should be marked 'A' or 'B';\n" "by convention,\n" "her lab uses 'Z' to indicate samples with missing information.\n" "To find others like it, she does this:" msgstr "" -"Those numbers look good --- but what's that 'Z' doing there in the third-to-last line?\n" +"Those numbers look good --- but what's that 'Z' doing there in the third-to-" +"last line?\n" "All of her samples should be marked 'A' or 'B';\n" "by convention,\n" "her lab uses 'Z' to indicate samples with missing information.\n" "To find others like it, she does this:" # code block -#: shell-novice/_episodes/04-pipefilter.md:805 +#: shell-novice/_episodes/04-pipefilter.md:810 msgid "" "~~~\n" "$ ls *Z.txt\n" @@ -6601,7 +7143,7 @@ msgstr "" "~~~" # code block -#: shell-novice/_episodes/04-pipefilter.md:810 +#: shell-novice/_episodes/04-pipefilter.md:815 msgid "" "~~~\n" "NENE01971Z.txt NENE02040Z.txt\n" @@ -6611,7 +7153,7 @@ msgstr "" "NENE01971Z.txt NENE02040Z.txt\n" "~~~" -#: shell-novice/_episodes/04-pipefilter.md:815 +#: shell-novice/_episodes/04-pipefilter.md:820 msgid "" "Sure enough,\n" "when she checks the log on her laptop,\n" @@ -6619,8 +7161,10 @@ msgid "" "Since it's too late to get the information any other way,\n" "she must exclude those two files from her analysis.\n" "She could just delete them using `rm`,\n" -"but there are actually some analyses she might do later where depth doesn't matter,\n" -"so instead, she'll just be careful later on to select files using the wildcard expression `*[AB].txt`.\n" +"but there are actually some analyses she might do later where depth doesn't " +"matter,\n" +"so instead, she'll just be careful later on to select files using the " +"wildcard expression `*[AB].txt`.\n" "As always,\n" "the `*` matches any number of characters;\n" "the expression `[AB]` matches either an 'A' or a 'B',\n" @@ -6632,19 +7176,21 @@ msgstr "" "Since it's too late to get the information any other way,\n" "she must exclude those two files from her analysis.\n" "She could just delete them using `rm`,\n" -"but there are actually some analyses she might do later where depth doesn't matter,\n" -"so instead, she'll just be careful later on to select files using the wildcard expression `*[AB].txt`.\n" +"but there are actually some analyses she might do later where depth doesn't " +"matter,\n" +"so instead, she'll just be careful later on to select files using the " +"wildcard expression `*[AB].txt`.\n" "As always,\n" "the `*` matches any number of characters;\n" "the expression `[AB]` matches either an 'A' or a 'B',\n" "so this matches all the valid data files she has." # blockquote, which can be cascaded -#: shell-novice/_episodes/04-pipefilter.md:828 +#: shell-novice/_episodes/04-pipefilter.md:833 msgid "> ## Wildcard Expressions" msgstr "> ## Wildcard Expressions" -#: shell-novice/_episodes/04-pipefilter.md:829 +#: shell-novice/_episodes/04-pipefilter.md:834 msgid "" ">\n" "> Wildcard expressions can be very complex, but you can sometimes write\n" @@ -6659,11 +7205,14 @@ msgid "" "> that do not use the `[]` syntax? *Hint*: You may need more than one\n" "> expression.\n" ">\n" -"> 2. The expression that you found and the expression from the lesson match the\n" -"> same set of files in this example. What is the small difference between the\n" +"> 2. The expression that you found and the expression from the lesson match " +"the\n" +"> same set of files in this example. What is the small difference " +"between the\n" "> outputs?\n" ">\n" -"> 3. Under what circumstances would your new expression produce an error message\n" +"> 3. Under what circumstances would your new expression produce an error " +"message\n" "> where the original one would not?\n" ">\n" "> > ## Solution\n" @@ -6674,8 +7223,10 @@ msgid "" "> > \t$ ls *B.txt\n" "> > \t```\n" "> >\t{: .language-bash}\n" -"> > 2. The output from the new commands is separated because there are two commands.\n" -"> > 3. When there are no files ending in `A.txt`, or there are no files ending in\n" +"> > 2. The output from the new commands is separated because there are two " +"commands.\n" +"> > 3. When there are no files ending in `A.txt`, or there are no files " +"ending in\n" "> > `B.txt`." msgstr "" ">\n" @@ -6691,11 +7242,14 @@ msgstr "" "> that do not use the `[]` syntax? *Hint*: You may need more than one\n" "> expression.\n" ">\n" -"> 2. The expression that you found and the expression from the lesson match the\n" -"> same set of files in this example. What is the small difference between the\n" +"> 2. The expression that you found and the expression from the lesson match " +"the\n" +"> same set of files in this example. What is the small difference " +"between the\n" "> outputs?\n" ">\n" -"> 3. Under what circumstances would your new expression produce an error message\n" +"> 3. Under what circumstances would your new expression produce an error " +"message\n" "> where the original one would not?\n" ">\n" "> > ## Solution\n" @@ -6706,16 +7260,18 @@ msgstr "" "> > \t$ ls *B.txt\n" "> > \t```\n" "> >\t{: .language-bash}\n" -"> > 2. The output from the new commands is separated because there are two commands.\n" -"> > 3. When there are no files ending in `A.txt`, or there are no files ending in\n" +"> > 2. The output from the new commands is separated because there are two " +"commands.\n" +"> > 3. When there are no files ending in `A.txt`, or there are no files " +"ending in\n" "> > `B.txt`." # blockquote, which can be cascaded -#: shell-novice/_episodes/04-pipefilter.md:863 +#: shell-novice/_episodes/04-pipefilter.md:868 msgid "> ## Removing Unneeded Files" msgstr "> ## Removing Unneeded Files" -#: shell-novice/_episodes/04-pipefilter.md:864 +#: shell-novice/_episodes/04-pipefilter.md:869 msgid "" ">\n" "> Suppose you want to delete your processed data files, and only keep\n" @@ -6732,7 +7288,8 @@ msgid "" "> > ## Solution\n" "> > 1. This would remove `.txt` files with one-character names\n" "> > 2. This is correct answer\n" -"> > 3. The shell would expand `*` to match everything in the current directory,\n" +"> > 3. The shell would expand `*` to match everything in the current " +"directory,\n" "> > so the command would try to remove all matched files and an additional\n" "> > file called `.txt`\n" "> > 4. The shell would expand `*.*` to match all files with any extension,\n" @@ -6753,7 +7310,8 @@ msgstr "" "> > ## Solution\n" "> > 1. This would remove `.txt` files with one-character names\n" "> > 2. This is correct answer\n" -"> > 3. The shell would expand `*` to match everything in the current directory,\n" +"> > 3. The shell would expand `*` to match everything in the current " +"directory,\n" "> > so the command would try to remove all matched files and an additional\n" "> > file called `.txt`\n" "> > 4. The shell would expand `*.*` to match all files with any extension,\n" @@ -6769,21 +7327,30 @@ msgid "" "questions:\n" "- \"How can I perform the same actions on many different files?\"\n" "objectives:\n" -"- \"Write a loop that applies one or more commands separately to each file in a set of files.\"\n" -"- \"Trace the values taken on by a loop variable during execution of the loop.\"\n" +"- \"Write a loop that applies one or more commands separately to each file " +"in a set of files.\"\n" +"- \"Trace the values taken on by a loop variable during execution of the " +"loop.\"\n" "- \"Explain the difference between a variable's name and its value.\"\n" -"- \"Explain why spaces and some punctuation characters shouldn't be used in file names.\"\n" +"- \"Explain why spaces and some punctuation characters shouldn't be used in " +"file names.\"\n" "- \"Demonstrate how to see what commands have recently been executed.\"\n" "- \"Re-run recently executed commands without retyping them.\"\n" "keypoints:\n" "- \"A `for` loop repeats commands once for every thing in a list.\"\n" -"- \"Every `for` loop needs a variable to refer to the thing it is currently operating on.\"\n" -"- \"Use `$name` to expand a variable (i.e., get its value). `${name}` can also be used.\"\n" -"- \"Do not use spaces, quotes, or wildcard characters such as '*' or '?' in filenames, as it complicates variable expansion.\"\n" -"- \"Give files consistent names that are easy to match with wildcard patterns to make it easy to select them for looping.\"\n" -"- \"Use the up-arrow key to scroll up through previous commands to edit and repeat them.\"\n" +"- \"Every `for` loop needs a variable to refer to the thing it is currently " +"operating on.\"\n" +"- \"Use `$name` to expand a variable (i.e., get its value). `${name}` can " +"also be used.\"\n" +"- \"Do not use spaces, quotes, or wildcard characters such as '*' or '?' in " +"filenames, as it complicates variable expansion.\"\n" +"- \"Give files consistent names that are easy to match with wildcard " +"patterns to make it easy to select them for looping.\"\n" +"- \"Use the up-arrow key to scroll up through previous commands to edit and " +"repeat them.\"\n" "- \"Use `Ctrl-R` to search through the previously entered commands.\"\n" -"- \"Use `history` to display recent commands, and `!number` to repeat a command by number.\"\n" +"- \"Use `history` to display recent commands, and `!number` to repeat a " +"command by number.\"\n" "---" msgstr "" "---\n" @@ -6793,44 +7360,61 @@ msgstr "" "questions:\n" "- \"How can I perform the same actions on many different files?\"\n" "objectives:\n" -"- \"Write a loop that applies one or more commands separately to each file in a set of files.\"\n" -"- \"Trace the values taken on by a loop variable during execution of the loop.\"\n" +"- \"Write a loop that applies one or more commands separately to each file " +"in a set of files.\"\n" +"- \"Trace the values taken on by a loop variable during execution of the " +"loop.\"\n" "- \"Explain the difference between a variable's name and its value.\"\n" -"- \"Explain why spaces and some punctuation characters shouldn't be used in file names.\"\n" +"- \"Explain why spaces and some punctuation characters shouldn't be used in " +"file names.\"\n" "- \"Demonstrate how to see what commands have recently been executed.\"\n" "- \"Re-run recently executed commands without retyping them.\"\n" "keypoints:\n" "- \"A `for` loop repeats commands once for every thing in a list.\"\n" -"- \"Every `for` loop needs a variable to refer to the thing it is currently operating on.\"\n" -"- \"Use `$name` to expand a variable (i.e., get its value). `${name}` can also be used.\"\n" -"- \"Do not use spaces, quotes, or wildcard characters such as '*' or '?' in filenames, as it complicates variable expansion.\"\n" -"- \"Give files consistent names that are easy to match with wildcard patterns to make it easy to select them for looping.\"\n" -"- \"Use the up-arrow key to scroll up through previous commands to edit and repeat them.\"\n" +"- \"Every `for` loop needs a variable to refer to the thing it is currently " +"operating on.\"\n" +"- \"Use `$name` to expand a variable (i.e., get its value). `${name}` can " +"also be used.\"\n" +"- \"Do not use spaces, quotes, or wildcard characters such as '*' or '?' in " +"filenames, as it complicates variable expansion.\"\n" +"- \"Give files consistent names that are easy to match with wildcard " +"patterns to make it easy to select them for looping.\"\n" +"- \"Use the up-arrow key to scroll up through previous commands to edit and " +"repeat them.\"\n" "- \"Use `Ctrl-R` to search through the previously entered commands.\"\n" -"- \"Use `history` to display recent commands, and `!number` to repeat a command by number.\"\n" +"- \"Use `history` to display recent commands, and `!number` to repeat a " +"command by number.\"\n" "---" #: shell-novice/_episodes/05-loop.md:25 msgid "" -"**Loops** are key to productivity improvements through automation as they allow us to execute\n" -"commands repetitively. Similar to wildcards and tab completion, using loops also reduces the\n" +"**Loops** are key to productivity improvements through automation as they " +"allow us to execute\n" +"commands repetitively. Similar to wildcards and tab completion, using loops " +"also reduces the\n" "amount of typing (and typing mistakes).\n" -"Suppose we have several hundred genome data files named `basilisk.dat`, `unicorn.dat`, and so on.\n" +"Suppose we have several hundred genome data files named `basilisk.dat`, " +"`unicorn.dat`, and so on.\n" "In this example,\n" "we'll use the `creatures` directory which only has two example files,\n" "but the principles can be applied to many many more files at once.\n" -"We would like to modify these files, but also save a version of the original files, naming the copies\n" +"We would like to modify these files, but also save a version of the original " +"files, naming the copies\n" "`original-basilisk.dat` and `original-unicorn.dat`.\n" "We can't use:" msgstr "" -"**Loops** are key to productivity improvements through automation as they allow us to execute\n" -"commands repetitively. Similar to wildcards and tab completion, using loops also reduces the\n" +"**Loops** are key to productivity improvements through automation as they " +"allow us to execute\n" +"commands repetitively. Similar to wildcards and tab completion, using loops " +"also reduces the\n" "amount of typing (and typing mistakes).\n" -"Suppose we have several hundred genome data files named `basilisk.dat`, `unicorn.dat`, and so on.\n" +"Suppose we have several hundred genome data files named `basilisk.dat`, " +"`unicorn.dat`, and so on.\n" "In this example,\n" "we'll use the `creatures` directory which only has two example files,\n" "but the principles can be applied to many many more files at once.\n" -"We would like to modify these files, but also save a version of the original files, naming the copies\n" +"We would like to modify these files, but also save a version of the original " +"files, naming the copies\n" "`original-basilisk.dat` and `original-unicorn.dat`.\n" "We can't use:" @@ -6877,25 +7461,33 @@ msgstr "" #: shell-novice/_episodes/05-loop.md:55 msgid "" -"This problem arises when `cp` receives more than two inputs. When this happens, it\n" -"expects the last input to be a directory where it can copy all the files it was passed.\n" -"Since there is no directory named `original-*.dat` in the `creatures` directory we get an\n" +"This problem arises when `cp` receives more than two inputs. When this " +"happens, it\n" +"expects the last input to be a directory where it can copy all the files it " +"was passed.\n" +"Since there is no directory named `original-*.dat` in the `creatures` " +"directory we get an\n" "error." msgstr "" -"This problem arises when `cp` receives more than two inputs. When this happens, it\n" -"expects the last input to be a directory where it can copy all the files it was passed.\n" -"Since there is no directory named `original-*.dat` in the `creatures` directory we get an\n" +"This problem arises when `cp` receives more than two inputs. When this " +"happens, it\n" +"expects the last input to be a directory where it can copy all the files it " +"was passed.\n" +"Since there is no directory named `original-*.dat` in the `creatures` " +"directory we get an\n" "error." #: shell-novice/_episodes/05-loop.md:60 msgid "" "Instead, we can use a **loop**\n" "to do some operation once for each thing in a list.\n" -"Here's a simple example that displays the first three lines of each file in turn:" +"Here's a simple example that displays the first three lines of each file in " +"turn:" msgstr "" "Instead, we can use a **loop**\n" "to do some operation once for each thing in a list.\n" -"Here's a simple example that displays the first three lines of each file in turn:" +"Here's a simple example that displays the first three lines of each file in " +"turn:" # code block #: shell-novice/_episodes/05-loop.md:64 @@ -6942,20 +7534,31 @@ msgstr "> ## Indentation of code within a for loop" # blockquote, which can be cascaded #: shell-novice/_episodes/05-loop.md:83 -msgid "> Note that it is common practice to indent the line(s) of code within a for loop." -msgstr "> Note that it is common practice to indent the line(s) of code within a for loop." +msgid "" +"> Note that it is common practice to indent the line(s) of code within a for " +"loop." +msgstr "" +"> Note that it is common practice to indent the line(s) of code within a for " +"loop." # blockquote, which can be cascaded #: shell-novice/_episodes/05-loop.md:84 -msgid "> The only purpose is to make the code easier to read -- it is not required for the loop to run." -msgstr "> The only purpose is to make the code easier to read -- it is not required for the loop to run." +msgid "" +"> The only purpose is to make the code easier to read -- it is not required " +"for the loop to run." +msgstr "" +"> The only purpose is to make the code easier to read -- it is not required " +"for the loop to run." #: shell-novice/_episodes/05-loop.md:87 msgid "" "When the shell sees the keyword `for`,\n" -"it knows to repeat a command (or group of commands) once for each item in a list.\n" -"Each time the loop runs (called an iteration), an item in the list is assigned in sequence to\n" -"the **variable**, and the commands inside the loop are executed, before moving on to \n" +"it knows to repeat a command (or group of commands) once for each item in a " +"list.\n" +"Each time the loop runs (called an iteration), an item in the list is " +"assigned in sequence to\n" +"the **variable**, and the commands inside the loop are executed, before " +"moving on to \n" "the next item in the list.\n" "Inside the loop,\n" "we call for the variable's value by putting `$` in front of it.\n" @@ -6964,9 +7567,12 @@ msgid "" "rather than treat it as text or an external command. " msgstr "" "When the shell sees the keyword `for`,\n" -"it knows to repeat a command (or group of commands) once for each item in a list.\n" -"Each time the loop runs (called an iteration), an item in the list is assigned in sequence to\n" -"the **variable**, and the commands inside the loop are executed, before moving on to \n" +"it knows to repeat a command (or group of commands) once for each item in a " +"list.\n" +"Each time the loop runs (called an iteration), an item in the list is " +"assigned in sequence to\n" +"the **variable**, and the commands inside the loop are executed, before " +"moving on to \n" "the next item in the list.\n" "Inside the loop,\n" "we call for the variable's value by putting `$` in front of it.\n" @@ -6976,8 +7582,10 @@ msgstr "" #: shell-novice/_episodes/05-loop.md:98 msgid "" -"In this example, the list is two filenames: `basilisk.dat` and `unicorn.dat`.\n" -"Each time the loop iterates, it will assign a file name to the variable `filename`\n" +"In this example, the list is two filenames: `basilisk.dat` and `unicorn." +"dat`.\n" +"Each time the loop iterates, it will assign a file name to the variable " +"`filename`\n" "and run the `head` command.\n" "The first time through the loop,\n" "`$filename` is `basilisk.dat`. \n" @@ -6989,8 +7597,10 @@ msgid "" "and prints the first three lines of `unicorn.dat`. \n" "Since the list was only two items, the shell exits the `for` loop." msgstr "" -"In this example, the list is two filenames: `basilisk.dat` and `unicorn.dat`.\n" -"Each time the loop iterates, it will assign a file name to the variable `filename`\n" +"In this example, the list is two filenames: `basilisk.dat` and `unicorn." +"dat`.\n" +"Each time the loop iterates, it will assign a file name to the variable " +"`filename`\n" "and run the `head` command.\n" "The first time through the loop,\n" "`$filename` is `basilisk.dat`. \n" @@ -7070,20 +7680,28 @@ msgid "" "> > and then lists them using `ls`.\n" "> > The expanded loop would look like this:\n" "> > ```\n" -"> > for datafile in cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb propane.pdb\n" +"> > for datafile in cubane.pdb ethane.pdb methane.pdb octane.pdb pentane." +"pdb propane.pdb\n" "> > do\n" -"> >\tls cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb propane.pdb\n" +"> >\tls cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb " +"propane.pdb\n" "> > done\n" "> > ```\n" "> > {: .language-bash}\n" "> >\n" "> > ```\n" -"> > cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb propane.pdb\n" -"> > cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb propane.pdb\n" -"> > cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb propane.pdb\n" -"> > cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb propane.pdb\n" -"> > cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb propane.pdb\n" -"> > cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb propane.pdb\n" +"> > cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb propane." +"pdb\n" +"> > cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb propane." +"pdb\n" +"> > cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb propane." +"pdb\n" +"> > cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb propane." +"pdb\n" +"> > cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb propane." +"pdb\n" +"> > cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb propane." +"pdb\n" "> > ```\n" "> > {: .output}\n" "> >\n" @@ -7132,20 +7750,28 @@ msgstr "" "> > and then lists them using `ls`.\n" "> > The expanded loop would look like this:\n" "> > ```\n" -"> > for datafile in cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb propane.pdb\n" +"> > for datafile in cubane.pdb ethane.pdb methane.pdb octane.pdb pentane." +"pdb propane.pdb\n" "> > do\n" -"> >\tls cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb propane.pdb\n" +"> >\tls cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb " +"propane.pdb\n" "> > done\n" "> > ```\n" "> > {: .language-bash}\n" "> >\n" "> > ```\n" -"> > cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb propane.pdb\n" -"> > cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb propane.pdb\n" -"> > cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb propane.pdb\n" -"> > cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb propane.pdb\n" -"> > cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb propane.pdb\n" -"> > cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb propane.pdb\n" +"> > cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb propane." +"pdb\n" +"> > cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb propane." +"pdb\n" +"> > cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb propane." +"pdb\n" +"> > cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb propane." +"pdb\n" +"> > cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb propane." +"pdb\n" +"> > cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb propane." +"pdb\n" "> > ```\n" "> > {: .output}\n" "> >\n" @@ -7173,13 +7799,15 @@ msgid "" ">\n" "> The shell prompt changes from `$` to `>` and back again as we were\n" "> typing in our loop. The second prompt, `>`, is different to remind\n" -"> us that we haven't finished typing a complete command yet. A semicolon, `;`,\n" +"> us that we haven't finished typing a complete command yet. A semicolon, `;" +"`,\n" "> can be used to separate two commands written on a single line." msgstr "" ">\n" "> The shell prompt changes from `$` to `>` and back again as we were\n" "> typing in our loop. The second prompt, `>`, is different to remind\n" -"> us that we haven't finished typing a complete command yet. A semicolon, `;`,\n" +"> us that we haven't finished typing a complete command yet. A semicolon, `;" +"`,\n" "> can be used to separate two commands written on a single line." # blockquote, which can be cascaded @@ -7287,7 +7915,8 @@ msgstr "> ## Limiting Sets of Files" #: shell-novice/_episodes/05-loop.md:242 msgid "" ">\n" -"> What would be the output of running the following loop in the `data-shell/molecules` directory?\n" +"> What would be the output of running the following loop in the `data-shell/" +"molecules` directory?\n" ">\n" "> ~~~\n" "> for filename in c*\n" @@ -7303,11 +7932,13 @@ msgid "" "> 4. Only `cubane.pdb` is listed.\n" ">\n" "> > ## Solution\n" -"> > 4 is the correct answer. `*` matches zero or more characters, so any file name starting with \n" +"> > 4 is the correct answer. `*` matches zero or more characters, so any " +"file name starting with \n" "> > the letter c, followed by zero or more other characters will be matched." msgstr "" ">\n" -"> What would be the output of running the following loop in the `data-shell/molecules` directory?\n" +"> What would be the output of running the following loop in the `data-shell/" +"molecules` directory?\n" ">\n" "> ~~~\n" "> for filename in c*\n" @@ -7323,7 +7954,8 @@ msgstr "" "> 4. Only `cubane.pdb` is listed.\n" ">\n" "> > ## Solution\n" -"> > 4 is the correct answer. `*` matches zero or more characters, so any file name starting with \n" +"> > 4 is the correct answer. `*` matches zero or more characters, so any " +"file name starting with \n" "> > the letter c, followed by zero or more other characters will be matched." #: shell-novice/_episodes/05-loop.md:262 @@ -7346,8 +7978,10 @@ msgid "" "> 5. Only the file `octane.pdb` will be listed.\n" ">\n" "> > ## Solution\n" -"> > 4 is the correct answer. `*` matches zero or more characters, so a file name with zero or more\n" -"> > characters before a letter c and zero or more characters after the letter c will be matched." +"> > 4 is the correct answer. `*` matches zero or more characters, so a file " +"name with zero or more\n" +"> > characters before a letter c and zero or more characters after the " +"letter c will be matched." msgstr "" ">\n" "> How would the output differ from using this command instead?\n" @@ -7367,8 +8001,10 @@ msgstr "" "> 5. Only the file `octane.pdb` will be listed.\n" ">\n" "> > ## Solution\n" -"> > 4 is the correct answer. `*` matches zero or more characters, so a file name with zero or more\n" -"> > characters before a letter c and zero or more characters after the letter c will be matched." +"> > 4 is the correct answer. `*` matches zero or more characters, so a file " +"name with zero or more\n" +"> > characters before a letter c and zero or more characters after the " +"letter c will be matched." #: shell-novice/_episodes/05-loop.md:285 msgid "" @@ -7399,16 +8035,20 @@ msgstr "" #: shell-novice/_episodes/05-loop.md:297 msgid "" -"The shell starts by expanding `*.dat` to create the list of files it will process.\n" +"The shell starts by expanding `*.dat` to create the list of files it will " +"process.\n" "The **loop body**\n" "then executes two commands for each of those files.\n" -"The first, `echo`, just prints its command-line arguments to standard output.\n" +"The first, `echo`, just prints its command-line arguments to standard " +"output.\n" "For example:" msgstr "" -"The shell starts by expanding `*.dat` to create the list of files it will process.\n" +"The shell starts by expanding `*.dat` to create the list of files it will " +"process.\n" "The **loop body**\n" "then executes two commands for each of those files.\n" -"The first, `echo`, just prints its command-line arguments to standard output.\n" +"The first, `echo`, just prints its command-line arguments to standard " +"output.\n" "For example:" # code block @@ -7471,14 +8111,16 @@ msgstr "" #: shell-novice/_episodes/05-loop.md:329 msgid "" "because then the first time through the loop,\n" -"when `$filename` expanded to `basilisk.dat`, the shell would try to run `basilisk.dat` as a program.\n" +"when `$filename` expanded to `basilisk.dat`, the shell would try to run " +"`basilisk.dat` as a program.\n" "Finally,\n" "the `head` and `tail` combination selects lines 81-100\n" "from whatever file is being processed\n" "(assuming the file has at least 100 lines)." msgstr "" "because then the first time through the loop,\n" -"when `$filename` expanded to `basilisk.dat`, the shell would try to run `basilisk.dat` as a program.\n" +"when `$filename` expanded to `basilisk.dat`, the shell would try to run " +"`basilisk.dat` as a program.\n" "Finally,\n" "the `head` and `tail` combination selects lines 81-100\n" "from whatever file is being processed\n" @@ -7543,36 +8185,52 @@ msgstr "> done" #: shell-novice/_episodes/05-loop.md:359 msgid "" ">\n" -"> It is simpler just to avoid using whitespaces (or other special characters) in filenames.\n" +"> It is simpler just to avoid using whitespaces (or other special " +"characters) in filenames.\n" ">\n" -"> The files above don't exist, so if we run the above code, the `head` command will be unable\n" -"> to find them, however the error message returned will show the name of the files it is\n" +"> The files above don't exist, so if we run the above code, the `head` " +"command will be unable\n" +"> to find them, however the error message returned will show the name of the " +"files it is\n" "> expecting:\n" "> ```\n" "> head: cannot open ‘red dragon.dat’ for reading: No such file or directory\n" -"> head: cannot open ‘purple unicorn.dat’ for reading: No such file or directory\n" +"> head: cannot open ‘purple unicorn.dat’ for reading: No such file or " +"directory\n" "> ```" msgstr "" ">\n" -"> It is simpler just to avoid using whitespaces (or other special characters) in filenames.\n" +"> It is simpler just to avoid using whitespaces (or other special " +"characters) in filenames.\n" ">\n" -"> The files above don't exist, so if we run the above code, the `head` command will be unable\n" -"> to find them, however the error message returned will show the name of the files it is\n" +"> The files above don't exist, so if we run the above code, the `head` " +"command will be unable\n" +"> to find them, however the error message returned will show the name of the " +"files it is\n" "> expecting:\n" "> ```\n" "> head: cannot open ‘red dragon.dat’ for reading: No such file or directory\n" -"> head: cannot open ‘purple unicorn.dat’ for reading: No such file or directory\n" +"> head: cannot open ‘purple unicorn.dat’ for reading: No such file or " +"directory\n" "> ```" # blockquote, which can be cascaded #: shell-novice/_episodes/05-loop.md:370 -msgid "> Try removing the quotes around `$filename` in the loop above to see the effect of the quote" -msgstr "> Try removing the quotes around `$filename` in the loop above to see the effect of the quote" +msgid "" +"> Try removing the quotes around `$filename` in the loop above to see the " +"effect of the quote" +msgstr "" +"> Try removing the quotes around `$filename` in the loop above to see the " +"effect of the quote" # blockquote, which can be cascaded #: shell-novice/_episodes/05-loop.md:371 -msgid "> marks on whitespace. Note that we get a result from the loop command for unicorn.dat when we run this code in the `creatures` directory:" -msgstr "> marks on whitespace. Note that we get a result from the loop command for unicorn.dat when we run this code in the `creatures` directory:" +msgid "" +"> marks on whitespace. Note that we get a result from the loop command for " +"unicorn.dat when we run this code in the `creatures` directory:" +msgstr "" +"> marks on whitespace. Note that we get a result from the loop command for " +"unicorn.dat when we run this code in the `creatures` directory:" # blockquote, which can be cascaded #: shell-novice/_episodes/05-loop.md:372 shell-novice/_episodes/05-loop.md:379 @@ -7587,7 +8245,8 @@ msgstr "> head: cannot open ‘red’ for reading: No such file or directory" # blockquote, which can be cascaded #: shell-novice/_episodes/05-loop.md:374 msgid "> head: cannot open ‘dragon.dat’ for reading: No such file or directory" -msgstr "> head: cannot open ‘dragon.dat’ for reading: No such file or directory" +msgstr "" +"> head: cannot open ‘dragon.dat’ for reading: No such file or directory" # blockquote, which can be cascaded #: shell-novice/_episodes/05-loop.md:375 @@ -7679,16 +8338,24 @@ msgstr "" #: shell-novice/_episodes/05-loop.md:411 msgid "" -"Since the `cp` command does not normally produce any output, it's hard to check \n" -"that the loop is doing the correct thing. By prefixing the command with `echo` \n" -"it is possible to see each command as it _would_ be executed. The following diagram \n" -"shows what happens when the modified script is executed, and demonstrates how the \n" +"Since the `cp` command does not normally produce any output, it's hard to " +"check \n" +"that the loop is doing the correct thing. By prefixing the command with " +"`echo` \n" +"it is possible to see each command as it _would_ be executed. The following " +"diagram \n" +"shows what happens when the modified script is executed, and demonstrates " +"how the \n" "judicious use of `echo` is a good debugging technique." msgstr "" -"Since the `cp` command does not normally produce any output, it's hard to check \n" -"that the loop is doing the correct thing. By prefixing the command with `echo` \n" -"it is possible to see each command as it _would_ be executed. The following diagram \n" -"shows what happens when the modified script is executed, and demonstrates how the \n" +"Since the `cp` command does not normally produce any output, it's hard to " +"check \n" +"that the loop is doing the correct thing. By prefixing the command with " +"`echo` \n" +"it is possible to see each command as it _would_ be executed. The following " +"diagram \n" +"shows what happens when the modified script is executed, and demonstrates " +"how the \n" "judicious use of `echo` is a good debugging technique." #: shell-novice/_episodes/05-loop.md:417 @@ -7702,11 +8369,15 @@ msgstr "## Nelle's Pipeline: Processing Files" #: shell-novice/_episodes/05-loop.md:421 msgid "" -"Nelle is now ready to process her data files using `goostats` --- a shell script written by her supervisor.\n" -"This calculates some statistics from a protein sample file, and takes two arguments:" +"Nelle is now ready to process her data files using `goostats` --- a shell " +"script written by her supervisor.\n" +"This calculates some statistics from a protein sample file, and takes two " +"arguments:" msgstr "" -"Nelle is now ready to process her data files using `goostats` --- a shell script written by her supervisor.\n" -"This calculates some statistics from a protein sample file, and takes two arguments:" +"Nelle is now ready to process her data files using `goostats` --- a shell " +"script written by her supervisor.\n" +"This calculates some statistics from a protein sample file, and takes two " +"arguments:" # ordered list #: shell-novice/_episodes/05-loop.md:424 @@ -7722,13 +8393,17 @@ msgstr "2. an output file (to store the calculated statistics)" msgid "" "Since she's still learning how to use the shell,\n" "she decides to build up the required commands in stages.\n" -"Her first step is to make sure that she can select the right input files --- remember,\n" -"these are ones whose names end in 'A' or 'B', rather than 'Z'. Starting from her home directory, Nelle types:" +"Her first step is to make sure that she can select the right input files --- " +"remember,\n" +"these are ones whose names end in 'A' or 'B', rather than 'Z'. Starting from " +"her home directory, Nelle types:" msgstr "" "Since she's still learning how to use the shell,\n" "she decides to build up the required commands in stages.\n" -"Her first step is to make sure that she can select the right input files --- remember,\n" -"these are ones whose names end in 'A' or 'B', rather than 'Z'. Starting from her home directory, Nelle types:" +"Her first step is to make sure that she can select the right input files --- " +"remember,\n" +"these are ones whose names end in 'A' or 'B', rather than 'Z'. Starting from " +"her home directory, Nelle types:" # code block #: shell-novice/_episodes/05-loop.md:432 @@ -7823,10 +8498,12 @@ msgstr "" #: shell-novice/_episodes/05-loop.md:474 msgid "" "She hasn't actually run `goostats` yet,\n" -"but now she's sure she can select the right files and generate the right output filenames." +"but now she's sure she can select the right files and generate the right " +"output filenames." msgstr "" "She hasn't actually run `goostats` yet,\n" -"but now she's sure she can select the right files and generate the right output filenames." +"but now she's sure she can select the right files and generate the right " +"output filenames." #: shell-novice/_episodes/05-loop.md:477 msgid "" @@ -7871,11 +8548,13 @@ msgstr "" #: shell-novice/_episodes/05-loop.md:494 msgid "" "~~~\n" -"$ for datafile in NENE*[AB].txt; do bash goostats $datafile stats-$datafile; done\n" +"$ for datafile in NENE*[AB].txt; do bash goostats $datafile stats-$datafile; " +"done\n" "~~~" msgstr "" "~~~\n" -"$ for datafile in NENE*[AB].txt; do bash goostats $datafile stats-$datafile; done\n" +"$ for datafile in NENE*[AB].txt; do bash goostats $datafile stats-$datafile; " +"done\n" "~~~" #: shell-novice/_episodes/05-loop.md:499 @@ -7883,7 +8562,8 @@ msgid "" "When she presses Enter,\n" "the shell runs the modified command.\n" "However, nothing appears to happen --- there is no output.\n" -"After a moment, Nelle realizes that since her script doesn't print anything to the screen any longer,\n" +"After a moment, Nelle realizes that since her script doesn't print anything " +"to the screen any longer,\n" "she has no idea whether it is running, much less how quickly.\n" "She kills the running command by typing `Ctrl-C`,\n" "uses up-arrow to repeat the command,\n" @@ -7892,7 +8572,8 @@ msgstr "" "When she presses Enter,\n" "the shell runs the modified command.\n" "However, nothing appears to happen --- there is no output.\n" -"After a moment, Nelle realizes that since her script doesn't print anything to the screen any longer,\n" +"After a moment, Nelle realizes that since her script doesn't print anything " +"to the screen any longer,\n" "she has no idea whether it is running, much less how quickly.\n" "She kills the running command by typing `Ctrl-C`,\n" "uses up-arrow to repeat the command,\n" @@ -7902,11 +8583,13 @@ msgstr "" #: shell-novice/_episodes/05-loop.md:508 msgid "" "~~~\n" -"$ for datafile in NENE*[AB].txt; do echo $datafile; bash goostats $datafile stats-$datafile; done\n" +"$ for datafile in NENE*[AB].txt; do echo $datafile; bash goostats $datafile " +"stats-$datafile; done\n" "~~~" msgstr "" "~~~\n" -"$ for datafile in NENE*[AB].txt; do echo $datafile; bash goostats $datafile stats-$datafile; done\n" +"$ for datafile in NENE*[AB].txt; do echo $datafile; bash goostats $datafile " +"stats-$datafile; done\n" "~~~" # blockquote, which can be cascaded @@ -8036,9 +8719,11 @@ msgid "" ">\n" "> There are a number of other shortcut commands for getting at the history.\n" ">\n" -"> - `Ctrl-R` enters a history search mode \"reverse-i-search\" and finds the \n" +"> - `Ctrl-R` enters a history search mode \"reverse-i-search\" and finds " +"the \n" "> most recent command in your history that matches the text you enter next.\n" -"> Press `Ctrl-R` one or more additional times to search for earlier matches.\n" +"> Press `Ctrl-R` one or more additional times to search for earlier " +"matches.\n" "> - `!!` retrieves the immediately preceding command \n" "> (you may or may not find this more convenient than using the up-arrow)\n" "> - `!$` retrieves the last word of the last command.\n" @@ -8050,9 +8735,11 @@ msgstr "" ">\n" "> There are a number of other shortcut commands for getting at the history.\n" ">\n" -"> - `Ctrl-R` enters a history search mode \"reverse-i-search\" and finds the \n" +"> - `Ctrl-R` enters a history search mode \"reverse-i-search\" and finds " +"the \n" "> most recent command in your history that matches the text you enter next.\n" -"> Press `Ctrl-R` one or more additional times to search for earlier matches.\n" +"> Press `Ctrl-R` one or more additional times to search for earlier " +"matches.\n" "> - `!!` retrieves the immediately preceding command \n" "> (you may or may not find this more convenient than using the up-arrow)\n" "> - `!$` retrieves the last word of the last command.\n" @@ -8080,17 +8767,23 @@ msgid "" "> ~~~\n" "> {: .language-bash}\n" ">\n" -"> 1. Prints `cubane.pdb`, `ethane.pdb`, `methane.pdb`, `octane.pdb`, `pentane.pdb` and `propane.pdb`,\n" -"> and the text from `propane.pdb` will be saved to a file called `alkanes.pdb`.\n" -"> 2. Prints `cubane.pdb`, `ethane.pdb`, and `methane.pdb`, and the text from all three files would be\n" +"> 1. Prints `cubane.pdb`, `ethane.pdb`, `methane.pdb`, `octane.pdb`, " +"`pentane.pdb` and `propane.pdb`,\n" +"> and the text from `propane.pdb` will be saved to a file called " +"`alkanes.pdb`.\n" +"> 2. Prints `cubane.pdb`, `ethane.pdb`, and `methane.pdb`, and the text " +"from all three files would be\n" "> concatenated and saved to a file called `alkanes.pdb`.\n" -"> 3. Prints `cubane.pdb`, `ethane.pdb`, `methane.pdb`, `octane.pdb`, and `pentane.pdb`, and the text\n" +"> 3. Prints `cubane.pdb`, `ethane.pdb`, `methane.pdb`, `octane.pdb`, and " +"`pentane.pdb`, and the text\n" "> from `propane.pdb` will be saved to a file called `alkanes.pdb`.\n" "> 4. None of the above.\n" ">\n" "> > ## Solution\n" -"> > 1. The text from each file in turn gets written to the `alkanes.pdb` file.\n" -"> > However, the file gets overwritten on each loop interation, so the final content of `alkanes.pdb`\n" +"> > 1. The text from each file in turn gets written to the `alkanes.pdb` " +"file.\n" +"> > However, the file gets overwritten on each loop interation, so the final " +"content of `alkanes.pdb`\n" "> > is the text from the `propane.pdb` file." msgstr "" ">\n" @@ -8105,17 +8798,23 @@ msgstr "" "> ~~~\n" "> {: .language-bash}\n" ">\n" -"> 1. Prints `cubane.pdb`, `ethane.pdb`, `methane.pdb`, `octane.pdb`, `pentane.pdb` and `propane.pdb`,\n" -"> and the text from `propane.pdb` will be saved to a file called `alkanes.pdb`.\n" -"> 2. Prints `cubane.pdb`, `ethane.pdb`, and `methane.pdb`, and the text from all three files would be\n" +"> 1. Prints `cubane.pdb`, `ethane.pdb`, `methane.pdb`, `octane.pdb`, " +"`pentane.pdb` and `propane.pdb`,\n" +"> and the text from `propane.pdb` will be saved to a file called " +"`alkanes.pdb`.\n" +"> 2. Prints `cubane.pdb`, `ethane.pdb`, and `methane.pdb`, and the text " +"from all three files would be\n" "> concatenated and saved to a file called `alkanes.pdb`.\n" -"> 3. Prints `cubane.pdb`, `ethane.pdb`, `methane.pdb`, `octane.pdb`, and `pentane.pdb`, and the text\n" +"> 3. Prints `cubane.pdb`, `ethane.pdb`, `methane.pdb`, `octane.pdb`, and " +"`pentane.pdb`, and the text\n" "> from `propane.pdb` will be saved to a file called `alkanes.pdb`.\n" "> 4. None of the above.\n" ">\n" "> > ## Solution\n" -"> > 1. The text from each file in turn gets written to the `alkanes.pdb` file.\n" -"> > However, the file gets overwritten on each loop interation, so the final content of `alkanes.pdb`\n" +"> > 1. The text from each file in turn gets written to the `alkanes.pdb` " +"file.\n" +"> > However, the file gets overwritten on each loop interation, so the final " +"content of `alkanes.pdb`\n" "> > is the text from the `propane.pdb` file." # blockquote, which can be cascaded @@ -8126,7 +8825,8 @@ msgstr "> ## Saving to a File in a Loop - Part Two" #: shell-novice/_episodes/05-loop.md:610 msgid "" ">\n" -"> Also in the `data-shell/molecules` directory, what would be the output of the following loop?\n" +"> Also in the `data-shell/molecules` directory, what would be the output of " +"the following loop?\n" ">\n" "> ~~~\n" "> for datafile in *.pdb\n" @@ -8136,21 +8836,30 @@ msgid "" "> ~~~\n" "> {: .language-bash}\n" ">\n" -"> 1. All of the text from `cubane.pdb`, `ethane.pdb`, `methane.pdb`, `octane.pdb`, and\n" -"> `pentane.pdb` would be concatenated and saved to a file called `all.pdb`.\n" +"> 1. All of the text from `cubane.pdb`, `ethane.pdb`, `methane.pdb`, " +"`octane.pdb`, and\n" +"> `pentane.pdb` would be concatenated and saved to a file called `all." +"pdb`.\n" "> 2. The text from `ethane.pdb` will be saved to a file called `all.pdb`.\n" -"> 3. All of the text from `cubane.pdb`, `ethane.pdb`, `methane.pdb`, `octane.pdb`, `pentane.pdb`\n" -"> and `propane.pdb` would be concatenated and saved to a file called `all.pdb`.\n" -"> 4. All of the text from `cubane.pdb`, `ethane.pdb`, `methane.pdb`, `octane.pdb`, `pentane.pdb`\n" -"> and `propane.pdb` would be printed to the screen and saved to a file called `all.pdb`.\n" +"> 3. All of the text from `cubane.pdb`, `ethane.pdb`, `methane.pdb`, " +"`octane.pdb`, `pentane.pdb`\n" +"> and `propane.pdb` would be concatenated and saved to a file called " +"`all.pdb`.\n" +"> 4. All of the text from `cubane.pdb`, `ethane.pdb`, `methane.pdb`, " +"`octane.pdb`, `pentane.pdb`\n" +"> and `propane.pdb` would be printed to the screen and saved to a file " +"called `all.pdb`.\n" ">\n" "> > ## Solution\n" -"> > 3 is the correct answer. `>>` appends to a file, rather than overwriting it with the redirected\n" +"> > 3 is the correct answer. `>>` appends to a file, rather than overwriting " +"it with the redirected\n" "> > output from a command.\n" -"> > Given the output from the `cat` command has been redirected, nothing is printed to the screen." +"> > Given the output from the `cat` command has been redirected, nothing is " +"printed to the screen." msgstr "" ">\n" -"> Also in the `data-shell/molecules` directory, what would be the output of the following loop?\n" +"> Also in the `data-shell/molecules` directory, what would be the output of " +"the following loop?\n" ">\n" "> ~~~\n" "> for datafile in *.pdb\n" @@ -8160,18 +8869,26 @@ msgstr "" "> ~~~\n" "> {: .language-bash}\n" ">\n" -"> 1. All of the text from `cubane.pdb`, `ethane.pdb`, `methane.pdb`, `octane.pdb`, and\n" -"> `pentane.pdb` would be concatenated and saved to a file called `all.pdb`.\n" +"> 1. All of the text from `cubane.pdb`, `ethane.pdb`, `methane.pdb`, " +"`octane.pdb`, and\n" +"> `pentane.pdb` would be concatenated and saved to a file called `all." +"pdb`.\n" "> 2. The text from `ethane.pdb` will be saved to a file called `all.pdb`.\n" -"> 3. All of the text from `cubane.pdb`, `ethane.pdb`, `methane.pdb`, `octane.pdb`, `pentane.pdb`\n" -"> and `propane.pdb` would be concatenated and saved to a file called `all.pdb`.\n" -"> 4. All of the text from `cubane.pdb`, `ethane.pdb`, `methane.pdb`, `octane.pdb`, `pentane.pdb`\n" -"> and `propane.pdb` would be printed to the screen and saved to a file called `all.pdb`.\n" +"> 3. All of the text from `cubane.pdb`, `ethane.pdb`, `methane.pdb`, " +"`octane.pdb`, `pentane.pdb`\n" +"> and `propane.pdb` would be concatenated and saved to a file called " +"`all.pdb`.\n" +"> 4. All of the text from `cubane.pdb`, `ethane.pdb`, `methane.pdb`, " +"`octane.pdb`, `pentane.pdb`\n" +"> and `propane.pdb` would be printed to the screen and saved to a file " +"called `all.pdb`.\n" ">\n" "> > ## Solution\n" -"> > 3 is the correct answer. `>>` appends to a file, rather than overwriting it with the redirected\n" +"> > 3 is the correct answer. `>>` appends to a file, rather than overwriting " +"it with the redirected\n" "> > output from a command.\n" -"> > Given the output from the `cat` command has been redirected, nothing is printed to the screen." +"> > Given the output from the `cat` command has been redirected, nothing is " +"printed to the screen." # blockquote, which can be cascaded #: shell-novice/_episodes/05-loop.md:636 @@ -8196,7 +8913,8 @@ msgid "" "> ~~~\n" "> {: .language-bash}\n" ">\n" -"> What is the difference between the two loops below, and which one would we\n" +"> What is the difference between the two loops below, and which one would " +"we\n" "> want to run?\n" ">\n" "> ~~~\n" @@ -8219,11 +8937,14 @@ msgid "" ">\n" "> > ## Solution\n" "> > The second version is the one we want to run.\n" -"> > This prints to screen everything enclosed in the quote marks, expanding the\n" +"> > This prints to screen everything enclosed in the quote marks, expanding " +"the\n" "> > loop variable name because we have prefixed it with a dollar sign.\n" "> >\n" -"> > The first version redirects the output from the command `echo analyze $file` to\n" -"> > a file, `analyzed-$file`. A series of files is generated: `analyzed-cubane.pdb`,\n" +"> > The first version redirects the output from the command `echo analyze " +"$file` to\n" +"> > a file, `analyzed-$file`. A series of files is generated: `analyzed-" +"cubane.pdb`,\n" "> > `analyzed-ethane.pdb` etc.\n" "> > \n" "> > Try both versions for yourself to see the output! Be sure to open the \n" @@ -8245,7 +8966,8 @@ msgstr "" "> ~~~\n" "> {: .language-bash}\n" ">\n" -"> What is the difference between the two loops below, and which one would we\n" +"> What is the difference between the two loops below, and which one would " +"we\n" "> want to run?\n" ">\n" "> ~~~\n" @@ -8268,11 +8990,14 @@ msgstr "" ">\n" "> > ## Solution\n" "> > The second version is the one we want to run.\n" -"> > This prints to screen everything enclosed in the quote marks, expanding the\n" +"> > This prints to screen everything enclosed in the quote marks, expanding " +"the\n" "> > loop variable name because we have prefixed it with a dollar sign.\n" "> >\n" -"> > The first version redirects the output from the command `echo analyze $file` to\n" -"> > a file, `analyzed-$file`. A series of files is generated: `analyzed-cubane.pdb`,\n" +"> > The first version redirects the output from the command `echo analyze " +"$file` to\n" +"> > a file, `analyzed-$file`. A series of files is generated: `analyzed-" +"cubane.pdb`,\n" "> > `analyzed-ethane.pdb` etc.\n" "> > \n" "> > Try both versions for yourself to see the output! Be sure to open the \n" @@ -8287,7 +9012,8 @@ msgstr "> ## Nested Loops" msgid "" ">\n" "> Suppose we want to set up up a directory structure to organize\n" -"> some experiments measuring reaction rate constants with different compounds\n" +"> some experiments measuring reaction rate constants with different " +"compounds\n" "> *and* different temperatures. What would be the\n" "> result of the following code:\n" ">\n" @@ -8303,15 +9029,18 @@ msgid "" "> {: .language-bash}\n" ">\n" "> > ## Solution\n" -"> > We have a nested loop, i.e. contained within another loop, so for each species\n" -"> > in the outer loop, the inner loop (the nested loop) iterates over the list of\n" +"> > We have a nested loop, i.e. contained within another loop, so for each " +"species\n" +"> > in the outer loop, the inner loop (the nested loop) iterates over the " +"list of\n" "> > temperatures, and creates a new directory for each combination.\n" "> >\n" "> > Try running the code for yourself to see which directories are created!" msgstr "" ">\n" "> Suppose we want to set up up a directory structure to organize\n" -"> some experiments measuring reaction rate constants with different compounds\n" +"> some experiments measuring reaction rate constants with different " +"compounds\n" "> *and* different temperatures. What would be the\n" "> result of the following code:\n" ">\n" @@ -8327,8 +9056,10 @@ msgstr "" "> {: .language-bash}\n" ">\n" "> > ## Solution\n" -"> > We have a nested loop, i.e. contained within another loop, so for each species\n" -"> > in the outer loop, the inner loop (the nested loop) iterates over the list of\n" +"> > We have a nested loop, i.e. contained within another loop, so for each " +"species\n" +"> > in the outer loop, the inner loop (the nested loop) iterates over the " +"list of\n" "> > temperatures, and creates a new directory for each combination.\n" "> >\n" "> > Try running the code for yourself to see which directories are created!" @@ -8343,17 +9074,22 @@ msgid "" "questions:\n" "- \"How can I save and re-use commands?\"\n" "objectives:\n" -"- \"Write a shell script that runs a command or series of commands for a fixed set of files.\"\n" +"- \"Write a shell script that runs a command or series of commands for a " +"fixed set of files.\"\n" "- \"Run a shell script from the command line.\"\n" -"- \"Write a shell script that operates on a set of files defined by the user on the command line.\"\n" -"- \"Create pipelines that include shell scripts you, and others, have written.\"\n" +"- \"Write a shell script that operates on a set of files defined by the user " +"on the command line.\"\n" +"- \"Create pipelines that include shell scripts you, and others, have " +"written.\"\n" "keypoints:\n" "- \"Save commands in files (usually called shell scripts) for re-use.\"\n" "- \"`bash filename` runs the commands saved in a file.\"\n" "- \"`$@` refers to all of a shell script's command-line arguments.\"\n" -"- \"`$1`, `$2`, etc., refer to the first command-line argument, the second command-line argument, etc.\"\n" +"- \"`$1`, `$2`, etc., refer to the first command-line argument, the second " +"command-line argument, etc.\"\n" "- \"Place variables in quotes if the values might have spaces in them.\"\n" -"- \"Letting users decide what files to process is more flexible and more consistent with built-in Unix commands.\"\n" +"- \"Letting users decide what files to process is more flexible and more " +"consistent with built-in Unix commands.\"\n" "---" msgstr "" "---\n" @@ -8363,32 +9099,43 @@ msgstr "" "questions:\n" "- \"How can I save and re-use commands?\"\n" "objectives:\n" -"- \"Write a shell script that runs a command or series of commands for a fixed set of files.\"\n" +"- \"Write a shell script that runs a command or series of commands for a " +"fixed set of files.\"\n" "- \"Run a shell script from the command line.\"\n" -"- \"Write a shell script that operates on a set of files defined by the user on the command line.\"\n" -"- \"Create pipelines that include shell scripts you, and others, have written.\"\n" +"- \"Write a shell script that operates on a set of files defined by the user " +"on the command line.\"\n" +"- \"Create pipelines that include shell scripts you, and others, have " +"written.\"\n" "keypoints:\n" "- \"Save commands in files (usually called shell scripts) for re-use.\"\n" "- \"`bash filename` runs the commands saved in a file.\"\n" "- \"`$@` refers to all of a shell script's command-line arguments.\"\n" -"- \"`$1`, `$2`, etc., refer to the first command-line argument, the second command-line argument, etc.\"\n" +"- \"`$1`, `$2`, etc., refer to the first command-line argument, the second " +"command-line argument, etc.\"\n" "- \"Place variables in quotes if the values might have spaces in them.\"\n" -"- \"Letting users decide what files to process is more flexible and more consistent with built-in Unix commands.\"\n" +"- \"Letting users decide what files to process is more flexible and more " +"consistent with built-in Unix commands.\"\n" "---" #: shell-novice/_episodes/06-script.md:21 msgid "" -"We are finally ready to see what makes the shell such a powerful programming environment.\n" -"We are going to take the commands we repeat frequently and save them in files\n" -"so that we can re-run all those operations again later by typing a single command.\n" +"We are finally ready to see what makes the shell such a powerful programming " +"environment.\n" +"We are going to take the commands we repeat frequently and save them in " +"files\n" +"so that we can re-run all those operations again later by typing a single " +"command.\n" "For historical reasons,\n" "a bunch of commands saved in a file is usually called a **shell script**,\n" "but make no mistake:\n" "these are actually small programs." msgstr "" -"We are finally ready to see what makes the shell such a powerful programming environment.\n" -"We are going to take the commands we repeat frequently and save them in files\n" -"so that we can re-run all those operations again later by typing a single command.\n" +"We are finally ready to see what makes the shell such a powerful programming " +"environment.\n" +"We are going to take the commands we repeat frequently and save them in " +"files\n" +"so that we can re-run all those operations again later by typing a single " +"command.\n" "For historical reasons,\n" "a bunch of commands saved in a file is usually called a **shell script**,\n" "but make no mistake:\n" @@ -8396,10 +9143,12 @@ msgstr "" #: shell-novice/_episodes/06-script.md:29 msgid "" -"Let's start by going back to `molecules/` and creating a new file, `middle.sh` which will\n" +"Let's start by going back to `molecules/` and creating a new file, `middle." +"sh` which will\n" "become our shell script:" msgstr "" -"Let's start by going back to `molecules/` and creating a new file, `middle.sh` which will\n" +"Let's start by going back to `molecules/` and creating a new file, `middle." +"sh` which will\n" "become our shell script:" # code block @@ -8417,15 +9166,19 @@ msgstr "" #: shell-novice/_episodes/06-script.md:38 msgid "" -"The command `nano middle.sh` opens the file `middle.sh` within the text editor \"nano\"\n" +"The command `nano middle.sh` opens the file `middle.sh` within the text " +"editor \"nano\"\n" "(which runs within the shell).\n" "If the file does not exist, it will be created.\n" -"We can use the text editor to directly edit the file -- we'll simply insert the following line:" +"We can use the text editor to directly edit the file -- we'll simply insert " +"the following line:" msgstr "" -"The command `nano middle.sh` opens the file `middle.sh` within the text editor \"nano\"\n" +"The command `nano middle.sh` opens the file `middle.sh` within the text " +"editor \"nano\"\n" "(which runs within the shell).\n" "If the file does not exist, it will be created.\n" -"We can use the text editor to directly edit the file -- we'll simply insert the following line:" +"We can use the text editor to directly edit the file -- we'll simply insert " +"the following line:" # code block #: shell-novice/_episodes/06-script.md:43 @@ -8510,10 +9263,12 @@ msgstr "" #: shell-novice/_episodes/06-script.md:75 msgid "" "Sure enough,\n" -"our script's output is exactly what we would get if we ran that pipeline directly." +"our script's output is exactly what we would get if we ran that pipeline " +"directly." msgstr "" "Sure enough,\n" -"our script's output is exactly what we would get if we ran that pipeline directly." +"our script's output is exactly what we would get if we ran that pipeline " +"directly." # blockquote, which can be cascaded #: shell-novice/_episodes/06-script.md:78 @@ -8570,8 +9325,12 @@ msgstr "" "~~~" #: shell-novice/_episodes/06-script.md:101 -msgid "Now, within \"nano\", replace the text `octane.pdb` with the special variable called `$1`:" -msgstr "Now, within \"nano\", replace the text `octane.pdb` with the special variable called `$1`:" +msgid "" +"Now, within \"nano\", replace the text `octane.pdb` with the special " +"variable called `$1`:" +msgstr "" +"Now, within \"nano\", replace the text `octane.pdb` with the special " +"variable called `$1`:" # code block #: shell-novice/_episodes/06-script.md:103 @@ -8659,12 +9418,14 @@ msgstr "" #: shell-novice/_episodes/06-script.md:149 msgid "" -"We still need to edit `middle.sh` each time we want to adjust the range of lines,\n" +"We still need to edit `middle.sh` each time we want to adjust the range of " +"lines,\n" "though.\n" "Let's fix that by using the special variables `$2` and `$3` for the\n" "number of lines to be passed to `head` and `tail` respectively:" msgstr "" -"We still need to edit `middle.sh` each time we want to adjust the range of lines,\n" +"We still need to edit `middle.sh` each time we want to adjust the range of " +"lines,\n" "though.\n" "Let's fix that by using the special variables `$2` and `$3` for the\n" "number of lines to be passed to `head` and `tail` respectively:" @@ -8736,11 +9497,13 @@ msgstr "" #: shell-novice/_episodes/06-script.md:197 msgid "" "This works,\n" -"but it may take the next person who reads `middle.sh` a moment to figure out what it does.\n" +"but it may take the next person who reads `middle.sh` a moment to figure out " +"what it does.\n" "We can improve our script by adding some **comments** at the top:" msgstr "" "This works,\n" -"but it may take the next person who reads `middle.sh` a moment to figure out what it does.\n" +"but it may take the next person who reads `middle.sh` a moment to figure out " +"what it does.\n" "We can improve our script by adding some **comments** at the top:" # code block @@ -8762,17 +9525,21 @@ msgstr "" msgid "" "A comment starts with a `#` character and runs to the end of the line.\n" "The computer ignores comments,\n" -"but they're invaluable for helping people (including your future self) understand and use scripts.\n" +"but they're invaluable for helping people (including your future self) " +"understand and use scripts.\n" "The only caveat is that each time you modify the script,\n" "you should check that the comment is still accurate:\n" -"an explanation that sends the reader in the wrong direction is worse than none at all." +"an explanation that sends the reader in the wrong direction is worse than " +"none at all." msgstr "" "A comment starts with a `#` character and runs to the end of the line.\n" "The computer ignores comments,\n" -"but they're invaluable for helping people (including your future self) understand and use scripts.\n" +"but they're invaluable for helping people (including your future self) " +"understand and use scripts.\n" "The only caveat is that each time you modify the script,\n" "you should check that the comment is still accurate:\n" -"an explanation that sends the reader in the wrong direction is worse than none at all." +"an explanation that sends the reader in the wrong direction is worse than " +"none at all." #: shell-novice/_episodes/06-script.md:220 msgid "" @@ -8785,10 +9552,12 @@ msgstr "" #: shell-novice/_episodes/06-script.md:228 msgid "" "because `wc -l` lists the number of lines in the files\n" -"(recall that `wc` stands for 'word count', adding the `-l` flag means 'count lines' instead)\n" +"(recall that `wc` stands for 'word count', adding the `-l` flag means 'count " +"lines' instead)\n" "and `sort -n` sorts things numerically.\n" "We could put this in a file,\n" -"but then it would only ever sort a list of `.pdb` files in the current directory.\n" +"but then it would only ever sort a list of `.pdb` files in the current " +"directory.\n" "If we want to be able to get a sorted list of other kinds of files,\n" "we need a way to get all those names into the script.\n" "We can't use `$1`, `$2`, and so on\n" @@ -8802,10 +9571,12 @@ msgid "" "Here's an example:" msgstr "" "because `wc -l` lists the number of lines in the files\n" -"(recall that `wc` stands for 'word count', adding the `-l` flag means 'count lines' instead)\n" +"(recall that `wc` stands for 'word count', adding the `-l` flag means 'count " +"lines' instead)\n" "and `sort -n` sorts things numerically.\n" "We could put this in a file,\n" -"but then it would only ever sort a list of `.pdb` files in the current directory.\n" +"but then it would only ever sort a list of `.pdb` files in the current " +"directory.\n" "If we want to be able to get a sorted list of other kinds of files,\n" "we need a way to get all those names into the script.\n" "We can't use `$1`, `$2`, and so on\n" @@ -8888,7 +9659,8 @@ msgstr "> ## List Unique Species" #: shell-novice/_episodes/06-script.md:275 msgid "" ">\n" -"> Leah has several hundred data files, each of which is formatted like this:\n" +"> Leah has several hundred data files, each of which is formatted like " +"this:\n" ">\n" "> ~~~\n" "> 2013-11-05,deer,5\n" @@ -8902,7 +9674,8 @@ msgid "" "> ~~~" msgstr "" ">\n" -"> Leah has several hundred data files, each of which is formatted like this:\n" +"> Leah has several hundred data files, each of which is formatted like " +"this:\n" ">\n" "> ~~~\n" "> 2013-11-05,deer,5\n" @@ -8918,7 +9691,8 @@ msgstr "" #: shell-novice/_episodes/06-script.md:289 msgid "" ">\n" -"> An example of this type of file is given in `data-shell/data/animal-counts/animals.txt`.\n" +"> An example of this type of file is given in `data-shell/data/animal-counts/" +"animals.txt`.\n" "> \n" "> Write a shell script called `species.sh` that takes any number of\n" "> filenames as command-line arguments, and uses `cut`, `sort`, and\n" @@ -8928,8 +9702,10 @@ msgid "" "> > ## Solution\n" "> >\n" "> > ```\n" -"> > # Script to find unique species in csv files where species is the second data field\n" -"> > # This script accepts any number of file names as command line arguments\n" +"> > # Script to find unique species in csv files where species is the second " +"data field\n" +"> > # This script accepts any number of file names as command line " +"arguments\n" "> >\n" "> > # Loop over all files\n" "> > for file in $@ \n" @@ -8942,7 +9718,8 @@ msgid "" "> > {: .source}" msgstr "" ">\n" -"> An example of this type of file is given in `data-shell/data/animal-counts/animals.txt`.\n" +"> An example of this type of file is given in `data-shell/data/animal-counts/" +"animals.txt`.\n" "> \n" "> Write a shell script called `species.sh` that takes any number of\n" "> filenames as command-line arguments, and uses `cut`, `sort`, and\n" @@ -8952,8 +9729,10 @@ msgstr "" "> > ## Solution\n" "> >\n" "> > ```\n" -"> > # Script to find unique species in csv files where species is the second data field\n" -"> > # This script accepts any number of file names as command line arguments\n" +"> > # Script to find unique species in csv files where species is the second " +"data field\n" +"> > # This script accepts any number of file names as command line " +"arguments\n" "> >\n" "> > # Loop over all files\n" "> > for file in $@ \n" @@ -9018,7 +9797,8 @@ msgstr "" #: shell-novice/_episodes/06-script.md:340 msgid "" -"Suppose we have just run a series of commands that did something useful --- for example,\n" +"Suppose we have just run a series of commands that did something useful --- " +"for example,\n" "that created a graph we'd like to use in a paper.\n" "We'd like to be able to re-create the graph later if we need to,\n" "so we want to save the commands in a file.\n" @@ -9026,7 +9806,8 @@ msgid "" "(and potentially getting them wrong)\n" "we can do this:" msgstr "" -"Suppose we have just run a series of commands that did something useful --- for example,\n" +"Suppose we have just run a series of commands that did something useful --- " +"for example,\n" "that created a graph we'd like to use in a paper.\n" "We'd like to be able to re-create the graph later if we need to,\n" "so we want to save the commands in a file.\n" @@ -9054,27 +9835,33 @@ msgstr "The file `redo-figure-3.sh` now contains:" msgid "" "~~~\n" "297 bash goostats NENE01729B.txt stats-NENE01729B.txt\n" -"298 bash goodiff stats-NENE01729B.txt /data/validated/01729.txt > 01729-differences.txt\n" +"298 bash goodiff stats-NENE01729B.txt /data/validated/01729.txt > 01729-" +"differences.txt\n" "299 cut -d ',' -f 2-3 01729-differences.txt > 01729-time-series.txt\n" -"300 ygraph --format scatter --color bw --borders none 01729-time-series.txt figure-3.png\n" +"300 ygraph --format scatter --color bw --borders none 01729-time-series.txt " +"figure-3.png\n" "301 history | tail -n 5 > redo-figure-3.sh\n" "~~~" msgstr "" "~~~\n" "297 bash goostats NENE01729B.txt stats-NENE01729B.txt\n" -"298 bash goodiff stats-NENE01729B.txt /data/validated/01729.txt > 01729-differences.txt\n" +"298 bash goodiff stats-NENE01729B.txt /data/validated/01729.txt > 01729-" +"differences.txt\n" "299 cut -d ',' -f 2-3 01729-differences.txt > 01729-time-series.txt\n" -"300 ygraph --format scatter --color bw --borders none 01729-time-series.txt figure-3.png\n" +"300 ygraph --format scatter --color bw --borders none 01729-time-series.txt " +"figure-3.png\n" "301 history | tail -n 5 > redo-figure-3.sh\n" "~~~" #: shell-novice/_episodes/06-script.md:364 msgid "" -"After a moment's work in an editor to remove the serial numbers on the commands,\n" +"After a moment's work in an editor to remove the serial numbers on the " +"commands,\n" "and to remove the final line where we called the `history` command,\n" "we have a completely accurate record of how we created that figure." msgstr "" -"After a moment's work in an editor to remove the serial numbers on the commands,\n" +"After a moment's work in an editor to remove the serial numbers on the " +"commands,\n" "and to remove the final line where we called the `history` command,\n" "we have a completely accurate record of how we created that figure." @@ -9125,19 +9912,23 @@ msgstr "" #: shell-novice/_episodes/06-script.md:390 msgid "" -"In practice, most people develop shell scripts by running commands at the shell prompt a few times\n" +"In practice, most people develop shell scripts by running commands at the " +"shell prompt a few times\n" "to make sure they're doing the right thing,\n" "then saving them in a file for re-use.\n" "This style of work allows people to recycle\n" -"what they discover about their data and their workflow with one call to `history`\n" +"what they discover about their data and their workflow with one call to " +"`history`\n" "and a bit of editing to clean up the output\n" "and save it as a shell script." msgstr "" -"In practice, most people develop shell scripts by running commands at the shell prompt a few times\n" +"In practice, most people develop shell scripts by running commands at the " +"shell prompt a few times\n" "to make sure they're doing the right thing,\n" "then saving them in a file for re-use.\n" "This style of work allows people to recycle\n" -"what they discover about their data and their workflow with one call to `history`\n" +"what they discover about their data and their workflow with one call to " +"`history`\n" "and a bit of editing to clean up the output\n" "and save it as a shell script." @@ -9148,10 +9939,12 @@ msgstr "## Nelle's Pipeline: Creating a Script" #: shell-novice/_episodes/06-script.md:400 msgid "" -"Nelle's supervisor insisted that all her analytics must be reproducible. The easiest way to capture all the steps is in a script.\n" +"Nelle's supervisor insisted that all her analytics must be reproducible. The " +"easiest way to capture all the steps is in a script.\n" "She runs the editor and writes the following:" msgstr "" -"Nelle's supervisor insisted that all her analytics must be reproducible. The easiest way to capture all the steps is in a script.\n" +"Nelle's supervisor insisted that all her analytics must be reproducible. The " +"easiest way to capture all the steps is in a script.\n" "She runs the editor and writes the following:" # code block @@ -9252,25 +10045,29 @@ msgstr "" msgid "" "The advantage is that this always selects the right files:\n" "she doesn't have to remember to exclude the 'Z' files.\n" -"The disadvantage is that it *always* selects just those files --- she can't run it on all files\n" +"The disadvantage is that it *always* selects just those files --- she can't " +"run it on all files\n" "(including the 'Z' files),\n" "or on the 'G' or 'H' files her colleagues in Antarctica are producing,\n" "without editing the script.\n" "If she wanted to be more adventurous,\n" "she could modify her script to check for command-line arguments,\n" "and use `NENE*[AB].txt` if none were provided.\n" -"Of course, this introduces another tradeoff between flexibility and complexity." +"Of course, this introduces another tradeoff between flexibility and " +"complexity." msgstr "" "The advantage is that this always selects the right files:\n" "she doesn't have to remember to exclude the 'Z' files.\n" -"The disadvantage is that it *always* selects just those files --- she can't run it on all files\n" +"The disadvantage is that it *always* selects just those files --- she can't " +"run it on all files\n" "(including the 'Z' files),\n" "or on the 'G' or 'H' files her colleagues in Antarctica are producing,\n" "without editing the script.\n" "If she wanted to be more adventurous,\n" "she could modify her script to check for command-line arguments,\n" "and use `NENE*[AB].txt` if none were provided.\n" -"Of course, this introduces another tradeoff between flexibility and complexity." +"Of course, this introduces another tradeoff between flexibility and " +"complexity." # blockquote, which can be cascaded #: shell-novice/_episodes/06-script.md:456 @@ -9280,7 +10077,8 @@ msgstr "> ## Variables in Shell Scripts" #: shell-novice/_episodes/06-script.md:457 msgid "" ">\n" -"> In the `molecules` directory, imagine you have a shell script called `script.sh` containing the\n" +"> In the `molecules` directory, imagine you have a shell script called " +"`script.sh` containing the\n" "> following commands:\n" ">\n" "> ~~~\n" @@ -9289,7 +10087,8 @@ msgid "" "> ~~~\n" "> {: .language-bash}\n" ">\n" -"> While you are in the `molecules` directory, you type the following command:\n" +"> While you are in the `molecules` directory, you type the following " +"command:\n" ">\n" "> ~~~\n" "> bash script.sh '*.pdb' 1 1\n" @@ -9298,16 +10097,19 @@ msgid "" ">\n" "> Which of the following outputs would you expect to see?\n" ">\n" -"> 1. All of the lines between the first and the last lines of each file ending in `.pdb`\n" +"> 1. All of the lines between the first and the last lines of each file " +"ending in `.pdb`\n" "> in the `molecules` directory\n" -"> 2. The first and the last line of each file ending in `.pdb` in the `molecules` directory\n" +"> 2. The first and the last line of each file ending in `.pdb` in the " +"`molecules` directory\n" "> 3. The first and the last line of each file in the `molecules` directory\n" "> 4. An error because of the quotes around `*.pdb`\n" ">\n" "> > ## Solution\n" "> > The correct answer is 2. \n" "> >\n" -"> > The special variables $1, $2 and $3 represent the command line arguments given to the\n" +"> > The special variables $1, $2 and $3 represent the command line arguments " +"given to the\n" "> > script, such that the commands run are:\n" "> >\n" "> > ```\n" @@ -9315,12 +10117,15 @@ msgid "" "> > $ tail -n 1 cubane.pdb ethane.pdb octane.pdb pentane.pdb propane.pdb\n" "> > ```\n" "> > {: .language-bash}\n" -"> > The shell does not expand `'*.pdb'` because it is enclosed by quote marks.\n" -"> > As such, the first argument to the script is `'*.pdb'` which gets expanded within the\n" +"> > The shell does not expand `'*.pdb'` because it is enclosed by quote " +"marks.\n" +"> > As such, the first argument to the script is `'*.pdb'` which gets " +"expanded within the\n" "> > script by `head` and `tail`." msgstr "" ">\n" -"> In the `molecules` directory, imagine you have a shell script called `script.sh` containing the\n" +"> In the `molecules` directory, imagine you have a shell script called " +"`script.sh` containing the\n" "> following commands:\n" ">\n" "> ~~~\n" @@ -9329,7 +10134,8 @@ msgstr "" "> ~~~\n" "> {: .language-bash}\n" ">\n" -"> While you are in the `molecules` directory, you type the following command:\n" +"> While you are in the `molecules` directory, you type the following " +"command:\n" ">\n" "> ~~~\n" "> bash script.sh '*.pdb' 1 1\n" @@ -9338,16 +10144,19 @@ msgstr "" ">\n" "> Which of the following outputs would you expect to see?\n" ">\n" -"> 1. All of the lines between the first and the last lines of each file ending in `.pdb`\n" +"> 1. All of the lines between the first and the last lines of each file " +"ending in `.pdb`\n" "> in the `molecules` directory\n" -"> 2. The first and the last line of each file ending in `.pdb` in the `molecules` directory\n" +"> 2. The first and the last line of each file ending in `.pdb` in the " +"`molecules` directory\n" "> 3. The first and the last line of each file in the `molecules` directory\n" "> 4. An error because of the quotes around `*.pdb`\n" ">\n" "> > ## Solution\n" "> > The correct answer is 2. \n" "> >\n" -"> > The special variables $1, $2 and $3 represent the command line arguments given to the\n" +"> > The special variables $1, $2 and $3 represent the command line arguments " +"given to the\n" "> > script, such that the commands run are:\n" "> >\n" "> > ```\n" @@ -9355,8 +10164,10 @@ msgstr "" "> > $ tail -n 1 cubane.pdb ethane.pdb octane.pdb pentane.pdb propane.pdb\n" "> > ```\n" "> > {: .language-bash}\n" -"> > The shell does not expand `'*.pdb'` because it is enclosed by quote marks.\n" -"> > As such, the first argument to the script is `'*.pdb'` which gets expanded within the\n" +"> > The shell does not expand `'*.pdb'` because it is enclosed by quote " +"marks.\n" +"> > As such, the first argument to the script is `'*.pdb'` which gets " +"expanded within the\n" "> > script by `head` and `tail`." # blockquote, which can be cascaded @@ -9428,7 +10239,8 @@ msgstr "> ## Script Reading Comprehension" #: shell-novice/_episodes/06-script.md:530 msgid "" ">\n" -"> For this question, consider the `data-shell/molecules` directory once again.\n" +"> For this question, consider the `data-shell/molecules` directory once " +"again.\n" "> This contains a number of `.pdb` files in addition to any other files you\n" "> may have created.\n" "> Explain what a script called `example.sh` would do when run as\n" @@ -9456,20 +10268,26 @@ msgid "" "> {: .language-bash}\n" ">\n" "> > ## Solutions\n" -"> > Script 1 would print out a list of all files containing a dot in their name.\n" +"> > Script 1 would print out a list of all files containing a dot in their " +"name.\n" "> >\n" -"> > Script 2 would print the contents of the first 3 files matching the file extension.\n" -"> > The shell expands the wildcard before passing the arguments to the `example.sh` script.\n" +"> > Script 2 would print the contents of the first 3 files matching the file " +"extension.\n" +"> > The shell expands the wildcard before passing the arguments to the " +"`example.sh` script.\n" "> > \n" -"> > Script 3 would print all the arguments to the script (i.e. all the `.pdb` files),\n" +"> > Script 3 would print all the arguments to the script (i.e. all the `." +"pdb` files),\n" "> > followed by `.pdb`.\n" "> > ```\n" -"> > cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb propane.pdb.pdb\n" +"> > cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb propane.pdb." +"pdb\n" "> > ```\n" "> > {: .output}" msgstr "" ">\n" -"> For this question, consider the `data-shell/molecules` directory once again.\n" +"> For this question, consider the `data-shell/molecules` directory once " +"again.\n" "> This contains a number of `.pdb` files in addition to any other files you\n" "> may have created.\n" "> Explain what a script called `example.sh` would do when run as\n" @@ -9497,15 +10315,20 @@ msgstr "" "> {: .language-bash}\n" ">\n" "> > ## Solutions\n" -"> > Script 1 would print out a list of all files containing a dot in their name.\n" +"> > Script 1 would print out a list of all files containing a dot in their " +"name.\n" "> >\n" -"> > Script 2 would print the contents of the first 3 files matching the file extension.\n" -"> > The shell expands the wildcard before passing the arguments to the `example.sh` script.\n" +"> > Script 2 would print the contents of the first 3 files matching the file " +"extension.\n" +"> > The shell expands the wildcard before passing the arguments to the " +"`example.sh` script.\n" "> > \n" -"> > Script 3 would print all the arguments to the script (i.e. all the `.pdb` files),\n" +"> > Script 3 would print all the arguments to the script (i.e. all the `." +"pdb` files),\n" "> > followed by `.pdb`.\n" "> > ```\n" -"> > cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb propane.pdb.pdb\n" +"> > cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb propane.pdb." +"pdb\n" "> > ```\n" "> > {: .output}" @@ -9517,7 +10340,8 @@ msgstr "> ## Debugging Scripts" #: shell-novice/_episodes/06-script.md:574 msgid "" ">\n" -"> Suppose you have saved the following script in a file called `do-errors.sh`\n" +"> Suppose you have saved the following script in a file called `do-errors." +"sh`\n" "> in Nelle's `north-pacific-gyre/2012-07-03` directory:\n" ">\n" "> ~~~\n" @@ -9550,13 +10374,17 @@ msgid "" ">\n" "> > ## Solution\n" "> > The `-x` flag causes `bash` to run in debug mode.\n" -"> > This prints out each command as it is run, which will help you to locate errors.\n" -"> > In this example, we can see that `echo` isn't printing anything. We have made a typo\n" -"> > in the loop variable name, and the variable `datfile` doesn't exist, hence returning\n" +"> > This prints out each command as it is run, which will help you to locate " +"errors.\n" +"> > In this example, we can see that `echo` isn't printing anything. We have " +"made a typo\n" +"> > in the loop variable name, and the variable `datfile` doesn't exist, " +"hence returning\n" "> > an empty string." msgstr "" ">\n" -"> Suppose you have saved the following script in a file called `do-errors.sh`\n" +"> Suppose you have saved the following script in a file called `do-errors." +"sh`\n" "> in Nelle's `north-pacific-gyre/2012-07-03` directory:\n" ">\n" "> ~~~\n" @@ -9589,9 +10417,12 @@ msgstr "" ">\n" "> > ## Solution\n" "> > The `-x` flag causes `bash` to run in debug mode.\n" -"> > This prints out each command as it is run, which will help you to locate errors.\n" -"> > In this example, we can see that `echo` isn't printing anything. We have made a typo\n" -"> > in the loop variable name, and the variable `datfile` doesn't exist, hence returning\n" +"> > This prints out each command as it is run, which will help you to locate " +"errors.\n" +"> > In this example, we can see that `echo` isn't printing anything. We have " +"made a typo\n" +"> > in the loop variable name, and the variable `datfile` doesn't exist, " +"hence returning\n" "> > an empty string." # Front Matter @@ -9605,14 +10436,18 @@ msgid "" "- \"How can I find files?\"\n" "- \"How can I find things in files?\"\n" "objectives:\n" -"- \"Use `grep` to select lines from text files that match simple patterns.\"\n" +"- \"Use `grep` to select lines from text files that match simple patterns." +"\"\n" "- \"Use `find` to find files whose names match simple patterns.\"\n" -"- \"Use the output of one command as the command-line argument(s) to another command.\"\n" -"- \"Explain what is meant by 'text' and 'binary' files, and why many common tools don't handle the latter well.\"\n" +"- \"Use the output of one command as the command-line argument(s) to another " +"command.\"\n" +"- \"Explain what is meant by 'text' and 'binary' files, and why many common " +"tools don't handle the latter well.\"\n" "keypoints:\n" "- \"`find` finds files with specific properties that match patterns.\"\n" "- \"`grep` selects lines in files that match patterns.\"\n" -"- \"`--help` is a flag supported by many bash commands, and programs that can be run from within Bash,\n" +"- \"`--help` is a flag supported by many bash commands, and programs that " +"can be run from within Bash,\n" "to display more information on how to use these commands or programs.\"\n" "- \"`man command` displays the manual page for a given command.\"\n" "- \"`$(command)` inserts a command's output in place.\"\n" @@ -9626,20 +10461,24 @@ msgstr "" "- \"How can I find files?\"\n" "- \"How can I find things in files?\"\n" "objectives:\n" -"- \"Use `grep` to select lines from text files that match simple patterns.\"\n" +"- \"Use `grep` to select lines from text files that match simple patterns." +"\"\n" "- \"Use `find` to find files whose names match simple patterns.\"\n" -"- \"Use the output of one command as the command-line argument(s) to another command.\"\n" -"- \"Explain what is meant by 'text' and 'binary' files, and why many common tools don't handle the latter well.\"\n" +"- \"Use the output of one command as the command-line argument(s) to another " +"command.\"\n" +"- \"Explain what is meant by 'text' and 'binary' files, and why many common " +"tools don't handle the latter well.\"\n" "keypoints:\n" "- \"`find` finds files with specific properties that match patterns.\"\n" "- \"`grep` selects lines in files that match patterns.\"\n" -"- \"`--help` is a flag supported by many bash commands, and programs that can be run from within Bash, \n" +"- \"`--help` is a flag supported by many bash commands, and programs that " +"can be run from within Bash, \n" "to display more information on how to use these commands or programs.\"\n" "- \"`man command` displays the manual page for a given command.\"\n" "- \"`$(command)` inserts a command's output in place.\"\n" "---" -#: shell-novice/_episodes/07-find.md:21 +#: shell-novice/_episodes/07-find.md:22 msgid "" "In the same way that many of us now use \"Google\" as a \n" "verb meaning \"to find\", Unix programmers often use the \n" @@ -9655,7 +10494,7 @@ msgstr "" "a common sequence of operations in early Unix text editors.\n" "It is also the name of a very useful command-line program." -#: shell-novice/_episodes/07-find.md:28 +#: shell-novice/_episodes/07-find.md:29 msgid "" "`grep` finds and prints lines in files that match a pattern.\n" "For our examples,\n" @@ -9670,7 +10509,7 @@ msgstr "" "we're going to be working in the writing subdirectory:" # code block -#: shell-novice/_episodes/07-find.md:34 +#: shell-novice/_episodes/07-find.md:35 msgid "" "~~~\n" "$ cd\n" @@ -9685,7 +10524,7 @@ msgstr "" "~~~" # code block -#: shell-novice/_episodes/07-find.md:41 +#: shell-novice/_episodes/07-find.md:42 msgid "" "~~~\n" "The Tao that is seen\n" @@ -9716,30 +10555,38 @@ msgstr "" "~~~" # blockquote, which can be cascaded -#: shell-novice/_episodes/07-find.md:56 +#: shell-novice/_episodes/07-find.md:57 msgid "> ## Forever, or Five Years" msgstr "> ## Forever, or Five Years" -#: shell-novice/_episodes/07-find.md:57 +#: shell-novice/_episodes/07-find.md:58 msgid "" ">\n" -"> We haven't linked to the original haikus because they don't appear to be on *Salon*'s site any longer.\n" -"> As [Jeff Rothenberg said](http://www.clir.org/pubs/archives/ensuring.pdf),\n" -"> \"Digital information lasts forever --- or five years, whichever comes first.\"\n" -"> Luckily, popular content often [has backups](http://wiki.c2.com/?ComputerErrorHaiku)." +"> We haven't linked to the original haikus because they don't appear to be " +"on *Salon*'s site any longer.\n" +"> As [Jeff Rothenberg said](http://www.clir.org/pubs/archives/ensuring." +"pdf),\n" +"> \"Digital information lasts forever --- or five years, whichever comes " +"first.\"\n" +"> Luckily, popular content often [has backups](http://wiki.c2.com/?" +"ComputerErrorHaiku)." msgstr "" ">\n" -"> We haven't linked to the original haikus because they don't appear to be on *Salon*'s site any longer.\n" -"> As [Jeff Rothenberg said](http://www.clir.org/pubs/archives/ensuring.pdf),\n" -"> \"Digital information lasts forever --- or five years, whichever comes first.\"\n" -"> Luckily, popular content often [has backups](http://wiki.c2.com/?ComputerErrorHaiku)." +"> We haven't linked to the original haikus because they don't appear to be " +"on *Salon*'s site any longer.\n" +"> As [Jeff Rothenberg said](http://www.clir.org/pubs/archives/ensuring." +"pdf),\n" +"> \"Digital information lasts forever --- or five years, whichever comes " +"first.\"\n" +"> Luckily, popular content often [has backups](http://wiki.c2.com/?" +"ComputerErrorHaiku)." -#: shell-novice/_episodes/07-find.md:64 +#: shell-novice/_episodes/07-find.md:65 msgid "Let's find lines that contain the word \"not\":" msgstr "Let's find lines that contain the word \"not\":" # code block -#: shell-novice/_episodes/07-find.md:66 +#: shell-novice/_episodes/07-find.md:67 msgid "" "~~~\n" "$ grep not haiku.txt\n" @@ -9750,7 +10597,7 @@ msgstr "" "~~~" # code block -#: shell-novice/_episodes/07-find.md:71 +#: shell-novice/_episodes/07-find.md:72 msgid "" "~~~\n" "Is not the true Tao, until\n" @@ -9764,26 +10611,32 @@ msgstr "" "Today it is not working\n" "~~~" -#: shell-novice/_episodes/07-find.md:78 +#: shell-novice/_episodes/07-find.md:79 msgid "" -"Here, `not` is the pattern we're searching for. The grep command searches through the file, looking for\n" -"matches to the pattern specified. To use it type `grep`, then the pattern we're searching for and\n" +"Here, `not` is the pattern we're searching for. The grep command searches " +"through the file, looking for\n" +"matches to the pattern specified. To use it type `grep`, then the pattern " +"we're searching for and\n" "finally the name of the file (or files) we're searching in." msgstr "" -"Here, `not` is the pattern we're searching for. The grep command searches through the file, looking for\n" -"matches to the pattern specified. To use it type `grep`, then the pattern we're searching for and\n" +"Here, `not` is the pattern we're searching for. The grep command searches " +"through the file, looking for\n" +"matches to the pattern specified. To use it type `grep`, then the pattern " +"we're searching for and\n" "finally the name of the file (or files) we're searching in." -#: shell-novice/_episodes/07-find.md:80 -msgid "The output is the three lines in the file that contain the letters \"not\"." -msgstr "The output is the three lines in the file that contain the letters \"not\"." +#: shell-novice/_episodes/07-find.md:83 +msgid "" +"The output is the three lines in the file that contain the letters \"not\"." +msgstr "" +"The output is the three lines in the file that contain the letters \"not\"." -#: shell-novice/_episodes/07-find.md:82 +#: shell-novice/_episodes/07-find.md:85 msgid "Let's try a different pattern: \"The\"." msgstr "Let's try a different pattern: \"The\"." # code block -#: shell-novice/_episodes/07-find.md:84 +#: shell-novice/_episodes/07-find.md:87 msgid "" "~~~\n" "$ grep The haiku.txt\n" @@ -9794,7 +10647,7 @@ msgstr "" "~~~" # code block -#: shell-novice/_episodes/07-find.md:89 +#: shell-novice/_episodes/07-find.md:92 msgid "" "~~~\n" "The Tao that is seen\n" @@ -9806,7 +10659,7 @@ msgstr "" "\"My Thesis\" not found.\n" "~~~" -#: shell-novice/_episodes/07-find.md:95 +#: shell-novice/_episodes/07-find.md:98 msgid "" "This time,\n" "two lines that include the letters \"The\" are outputted.\n" @@ -9818,7 +10671,7 @@ msgstr "" "However, one instance of those letters is contained within a larger word,\n" "\"Thesis\"." -#: shell-novice/_episodes/07-find.md:100 +#: shell-novice/_episodes/07-find.md:103 msgid "" "To restrict matches to lines containing the word \"The\" on its own,\n" "we can give `grep` with the `-w` flag.\n" @@ -9829,7 +10682,7 @@ msgstr "" "This will limit matches to word boundaries." # code block -#: shell-novice/_episodes/07-find.md:104 +#: shell-novice/_episodes/07-find.md:107 msgid "" "~~~\n" "$ grep -w The haiku.txt\n" @@ -9840,7 +10693,7 @@ msgstr "" "~~~" # code block -#: shell-novice/_episodes/07-find.md:109 +#: shell-novice/_episodes/07-find.md:112 msgid "" "~~~\n" "The Tao that is seen\n" @@ -9850,22 +10703,24 @@ msgstr "" "The Tao that is seen\n" "~~~" -#: shell-novice/_episodes/07-find.md:114 +#: shell-novice/_episodes/07-find.md:117 msgid "" "Note that a \"word boundary\" includes the start and end of a line, so not\n" "just letters surrounded by spaces. \n" "Sometimes we don't\n" -"want to search for a single word, but a phrase. This is also easy to do with\n" +"want to search for a single word, but a phrase. This is also easy to do " +"with\n" "`grep` by putting the phrase in quotes." msgstr "" "Note that a \"word boundary\" includes the start and end of a line, so not\n" "just letters surrounded by spaces. \n" "Sometimes we don't\n" -"want to search for a single word, but a phrase. This is also easy to do with\n" +"want to search for a single word, but a phrase. This is also easy to do " +"with\n" "`grep` by putting the phrase in quotes." # code block -#: shell-novice/_episodes/07-find.md:120 +#: shell-novice/_episodes/07-find.md:123 msgid "" "~~~\n" "$ grep -w \"is not\" haiku.txt\n" @@ -9876,7 +10731,7 @@ msgstr "" "~~~" # code block -#: shell-novice/_episodes/07-find.md:125 +#: shell-novice/_episodes/07-find.md:128 msgid "" "~~~\n" "Today it is not working\n" @@ -9886,26 +10741,28 @@ msgstr "" "Today it is not working\n" "~~~" -#: shell-novice/_episodes/07-find.md:130 +#: shell-novice/_episodes/07-find.md:133 msgid "" "We've now seen that you don't have to have quotes around single words,\n" "but it is useful to use quotes when searching for multiple words.\n" -"It also helps to make it easier to distinguish between the search term or phrase\n" +"It also helps to make it easier to distinguish between the search term or " +"phrase\n" "and the file being searched.\n" "We will use quotes in the remaining examples." msgstr "" "We've now seen that you don't have to have quotes around single words,\n" "but it is useful to use quotes when searching for multiple words.\n" -"It also helps to make it easier to distinguish between the search term or phrase\n" +"It also helps to make it easier to distinguish between the search term or " +"phrase\n" "and the file being searched.\n" "We will use quotes in the remaining examples." -#: shell-novice/_episodes/07-find.md:136 +#: shell-novice/_episodes/07-find.md:139 msgid "Another useful option is `-n`, which numbers the lines that match:" msgstr "Another useful option is `-n`, which numbers the lines that match:" # code block -#: shell-novice/_episodes/07-find.md:138 +#: shell-novice/_episodes/07-find.md:141 msgid "" "~~~\n" "$ grep -n \"it\" haiku.txt\n" @@ -9916,7 +10773,7 @@ msgstr "" "~~~" # code block -#: shell-novice/_episodes/07-find.md:143 +#: shell-novice/_episodes/07-find.md:146 msgid "" "~~~\n" "5:With searching comes loss\n" @@ -9930,22 +10787,26 @@ msgstr "" "10:Today it is not working\n" "~~~" -#: shell-novice/_episodes/07-find.md:150 +#: shell-novice/_episodes/07-find.md:153 msgid "Here, we can see that lines 5, 9, and 10 contain the letters \"it\"." msgstr "Here, we can see that lines 5, 9, and 10 contain the letters \"it\"." -#: shell-novice/_episodes/07-find.md:152 +#: shell-novice/_episodes/07-find.md:155 msgid "" "We can combine options (i.e. flags) as we do with other Unix commands.\n" -"For example, let's find the lines that contain the word \"the\". We can combine\n" -"the option `-w` to find the lines that contain the word \"the\" and `-n` to number the lines that match:" +"For example, let's find the lines that contain the word \"the\". We can " +"combine\n" +"the option `-w` to find the lines that contain the word \"the\" and `-n` to " +"number the lines that match:" msgstr "" "We can combine options (i.e. flags) as we do with other Unix commands.\n" -"For example, let's find the lines that contain the word \"the\". We can combine\n" -"the option `-w` to find the lines that contain the word \"the\" and `-n` to number the lines that match:" +"For example, let's find the lines that contain the word \"the\". We can " +"combine\n" +"the option `-w` to find the lines that contain the word \"the\" and `-n` to " +"number the lines that match:" # code block -#: shell-novice/_episodes/07-find.md:156 +#: shell-novice/_episodes/07-find.md:159 msgid "" "~~~\n" "$ grep -n -w \"the\" haiku.txt\n" @@ -9956,7 +10817,7 @@ msgstr "" "~~~" # code block -#: shell-novice/_episodes/07-find.md:161 +#: shell-novice/_episodes/07-find.md:164 msgid "" "~~~\n" "2:Is not the true Tao, until\n" @@ -9968,12 +10829,13 @@ msgstr "" "6:and the presence of absence:\n" "~~~" -#: shell-novice/_episodes/07-find.md:167 +#: shell-novice/_episodes/07-find.md:170 msgid "Now we want to use the option `-i` to make our search case-insensitive:" -msgstr "Now we want to use the option `-i` to make our search case-insensitive:" +msgstr "" +"Now we want to use the option `-i` to make our search case-insensitive:" # code block -#: shell-novice/_episodes/07-find.md:169 +#: shell-novice/_episodes/07-find.md:172 msgid "" "~~~\n" "$ grep -n -w -i \"the\" haiku.txt\n" @@ -9984,7 +10846,7 @@ msgstr "" "~~~" # code block -#: shell-novice/_episodes/07-find.md:174 +#: shell-novice/_episodes/07-find.md:177 msgid "" "~~~\n" "1:The Tao that is seen\n" @@ -9998,16 +10860,18 @@ msgstr "" "6:and the presence of absence:\n" "~~~" -#: shell-novice/_episodes/07-find.md:181 +#: shell-novice/_episodes/07-find.md:184 msgid "" -"Now, we want to use the option `-v` to invert our search, i.e., we want to output\n" +"Now, we want to use the option `-v` to invert our search, i.e., we want to " +"output\n" "the lines that do not contain the word \"the\"." msgstr "" -"Now, we want to use the option `-v` to invert our search, i.e., we want to output\n" +"Now, we want to use the option `-v` to invert our search, i.e., we want to " +"output\n" "the lines that do not contain the word \"the\"." # code block -#: shell-novice/_episodes/07-find.md:184 +#: shell-novice/_episodes/07-find.md:187 msgid "" "~~~\n" "$ grep -n -w -v \"the\" haiku.txt\n" @@ -10018,7 +10882,7 @@ msgstr "" "~~~" # code block -#: shell-novice/_episodes/07-find.md:189 +#: shell-novice/_episodes/07-find.md:192 msgid "" "~~~\n" "1:The Tao that is seen\n" @@ -10044,12 +10908,14 @@ msgstr "" "11:Software is like that.\n" "~~~" -#: shell-novice/_episodes/07-find.md:202 -msgid "`grep` has lots of other options. To find out what they are, we can type:" -msgstr "`grep` has lots of other options. To find out what they are, we can type:" +#: shell-novice/_episodes/07-find.md:205 +msgid "" +"`grep` has lots of other options. To find out what they are, we can type:" +msgstr "" +"`grep` has lots of other options. To find out what they are, we can type:" # code block -#: shell-novice/_episodes/07-find.md:204 +#: shell-novice/_episodes/07-find.md:207 msgid "" "~~~\n" "$ grep --help\n" @@ -10060,7 +10926,7 @@ msgstr "" "~~~" # code block -#: shell-novice/_episodes/07-find.md:209 +#: shell-novice/_episodes/07-find.md:212 msgid "" "~~~\n" "Usage: grep [OPTION]... PATTERN [FILE]...\n" @@ -10070,7 +10936,8 @@ msgid "" "\n" "Regexp selection and interpretation:\n" " -E, --extended-regexp PATTERN is an extended regular expression (ERE)\n" -" -F, --fixed-strings PATTERN is a set of newline-separated fixed strings\n" +" -F, --fixed-strings PATTERN is a set of newline-separated fixed " +"strings\n" " -G, --basic-regexp PATTERN is a basic regular expression (BRE)\n" " -P, --perl-regexp PATTERN is a Perl regular expression\n" " -e, --regexp=PATTERN use PATTERN for matching\n" @@ -10092,7 +10959,8 @@ msgstr "" "\n" "Regexp selection and interpretation:\n" " -E, --extended-regexp PATTERN is an extended regular expression (ERE)\n" -" -F, --fixed-strings PATTERN is a set of newline-separated fixed strings\n" +" -F, --fixed-strings PATTERN is a set of newline-separated fixed " +"strings\n" " -G, --basic-regexp PATTERN is a basic regular expression (BRE)\n" " -P, --perl-regexp PATTERN is a Perl regular expression\n" " -e, --regexp=PATTERN use PATTERN for matching\n" @@ -10107,11 +10975,11 @@ msgstr "" "~~~" # blockquote, which can be cascaded -#: shell-novice/_episodes/07-find.md:232 +#: shell-novice/_episodes/07-find.md:235 msgid "> ## Using `grep`" msgstr "> ## Using `grep`" -#: shell-novice/_episodes/07-find.md:233 +#: shell-novice/_episodes/07-find.md:236 msgid "" ">\n" "> Which command would result in the following output:\n" @@ -10127,7 +10995,7 @@ msgstr "" "> and the presence of absence:\n" "> ~~~" -#: shell-novice/_episodes/07-find.md:240 +#: shell-novice/_episodes/07-find.md:243 msgid "" ">\n" "> 1. `grep \"of\" haiku.txt`\n" @@ -10136,7 +11004,8 @@ msgid "" "> 4. `grep -i \"of\" haiku.txt`\n" ">\n" "> > ## Solution\n" -"> > The correct answer is 3, because the `-w` flag looks only for whole-word matches.\n" +"> > The correct answer is 3, because the `-w` flag looks only for whole-word " +"matches.\n" "> > The other options will all match \"of\" when part of another word." msgstr "" ">\n" @@ -10146,18 +11015,22 @@ msgstr "" "> 4. `grep -i \"of\" haiku.txt`\n" ">\n" "> > ## Solution\n" -"> > The correct answer is 3, because the `-w` flag looks only for whole-word matches.\n" +"> > The correct answer is 3, because the `-w` flag looks only for whole-word " +"matches.\n" "> > The other options will all match \"of\" when part of another word." -#: shell-novice/_episodes/07-find.md:253 +#: shell-novice/_episodes/07-find.md:256 msgid "" ">\n" "> `grep`'s real power doesn't come from its options, though; it comes from\n" "> the fact that patterns can include wildcards. (The technical name for\n" "> these is **regular expressions**, which\n" -"> is what the \"re\" in \"grep\" stands for.) Regular expressions are both complex\n" -"> and powerful; if you want to do complex searches, please look at the lesson\n" -"> on [our website](http://v4.software-carpentry.org/regexp/index.html). As a taster, we can\n" +"> is what the \"re\" in \"grep\" stands for.) Regular expressions are both " +"complex\n" +"> and powerful; if you want to do complex searches, please look at the " +"lesson\n" +"> on [our website](http://v4.software-carpentry.org/regexp/index.html). As a " +"taster, we can\n" "> find lines that have an 'o' in the second position like this:\n" ">\n" "> ~~~\n" @@ -10175,9 +11048,12 @@ msgstr "" "> `grep`'s real power doesn't come from its options, though; it comes from\n" "> the fact that patterns can include wildcards. (The technical name for\n" "> these is **regular expressions**, which\n" -"> is what the \"re\" in \"grep\" stands for.) Regular expressions are both complex\n" -"> and powerful; if you want to do complex searches, please look at the lesson\n" -"> on [our website](http://v4.software-carpentry.org/regexp/index.html). As a taster, we can\n" +"> is what the \"re\" in \"grep\" stands for.) Regular expressions are both " +"complex\n" +"> and powerful; if you want to do complex searches, please look at the " +"lesson\n" +"> on [our website](http://v4.software-carpentry.org/regexp/index.html). As a " +"taster, we can\n" "> find lines that have an 'o' in the second position like this:\n" ">\n" "> ~~~\n" @@ -10191,7 +11067,7 @@ msgstr "" "> Software is like that.\n" "> ~~~" -#: shell-novice/_episodes/07-find.md:273 +#: shell-novice/_episodes/07-find.md:276 msgid "" ">\n" "> We use the `-E` flag and put the pattern in quotes to prevent the shell\n" @@ -10210,51 +11086,56 @@ msgstr "" "> matches an actual 'o'." # blockquote, which can be cascaded -#: shell-novice/_episodes/07-find.md:282 +#: shell-novice/_episodes/07-find.md:285 msgid "> ## Tracking a Species" msgstr "> ## Tracking a Species" # blockquote, which can be cascaded -#: shell-novice/_episodes/07-find.md:284 +#: shell-novice/_episodes/07-find.md:287 msgid "> Leah has several hundred " msgstr "> Leah has several hundred " # blockquote, which can be cascaded -#: shell-novice/_episodes/07-find.md:285 -msgid "> data files saved in one directory, each of which is formatted like this:" -msgstr "> data files saved in one directory, each of which is formatted like this:" +#: shell-novice/_episodes/07-find.md:288 +msgid "" +"> data files saved in one directory, each of which is formatted like this:" +msgstr "" +"> data files saved in one directory, each of which is formatted like this:" # blockquote, which can be cascaded -#: shell-novice/_episodes/07-find.md:288 +#: shell-novice/_episodes/07-find.md:291 msgid "> 2013-11-05,deer,5" msgstr "> 2013-11-05,deer,5" # blockquote, which can be cascaded -#: shell-novice/_episodes/07-find.md:289 +#: shell-novice/_episodes/07-find.md:292 msgid "> 2013-11-05,rabbit,22" msgstr "> 2013-11-05,rabbit,22" # blockquote, which can be cascaded -#: shell-novice/_episodes/07-find.md:290 +#: shell-novice/_episodes/07-find.md:293 msgid "> 2013-11-05,raccoon,7" msgstr "> 2013-11-05,raccoon,7" # blockquote, which can be cascaded -#: shell-novice/_episodes/07-find.md:291 +#: shell-novice/_episodes/07-find.md:294 msgid "> 2013-11-06,rabbit,19" msgstr "> 2013-11-06,rabbit,19" # blockquote, which can be cascaded -#: shell-novice/_episodes/07-find.md:292 +#: shell-novice/_episodes/07-find.md:295 msgid "> 2013-11-06,deer,2" msgstr "> 2013-11-06,deer,2" -#: shell-novice/_episodes/07-find.md:295 +#: shell-novice/_episodes/07-find.md:298 msgid "" ">\n" -"> She wants to write a shell script that takes a species as the first command-line argument \n" -"> and a directory as the second argument. The script should return one file called `species.txt` \n" -"> containing a list of dates and the number of that species seen on each date.\n" +"> She wants to write a shell script that takes a species as the first " +"command-line argument \n" +"> and a directory as the second argument. The script should return one file " +"called `species.txt` \n" +"> containing a list of dates and the number of that species seen on each " +"date.\n" "> For example using the data shown above, `rabbits.txt` would contain:\n" "> \n" "> ~~~\n" @@ -10263,9 +11144,12 @@ msgid "" "> ~~~" msgstr "" ">\n" -"> She wants to write a shell script that takes a species as the first command-line argument \n" -"> and a directory as the second argument. The script should return one file called `species.txt` \n" -"> containing a list of dates and the number of that species seen on each date.\n" +"> She wants to write a shell script that takes a species as the first " +"command-line argument \n" +"> and a directory as the second argument. The script should return one file " +"called `species.txt` \n" +"> containing a list of dates and the number of that species seen on each " +"date.\n" "> For example using the data shown above, `rabbits.txt` would contain:\n" "> \n" "> ~~~\n" @@ -10273,7 +11157,7 @@ msgstr "" "> 2013-11-06,19\n" "> ~~~" -#: shell-novice/_episodes/07-find.md:306 +#: shell-novice/_episodes/07-find.md:309 msgid "" ">\n" "> Put these commands and pipes in the right order to achieve this:\n" @@ -10289,10 +11173,12 @@ msgid "" "> ~~~\n" "> {: .language-bash}\n" ">\n" -"> Hint: use `man grep` to look for how to grep text recursively in a directory\n" +"> Hint: use `man grep` to look for how to grep text recursively in a " +"directory\n" "> and `man cut` to select more than one field in a line.\n" ">\n" -"> An example of such a file is provided in `data-shell/data/animal-counts/animals.txt`\n" +"> An example of such a file is provided in `data-shell/data/animal-counts/" +"animals.txt`\n" ">\n" "> > ## Solution\n" "> >\n" @@ -10322,10 +11208,12 @@ msgstr "" "> ~~~\n" "> {: .language-bash}\n" ">\n" -"> Hint: use `man grep` to look for how to grep text recursively in a directory\n" +"> Hint: use `man grep` to look for how to grep text recursively in a " +"directory\n" "> and `man cut` to select more than one field in a line.\n" ">\n" -"> An example of such a file is provided in `data-shell/data/animal-counts/animals.txt`\n" +"> An example of such a file is provided in `data-shell/data/animal-counts/" +"animals.txt`\n" ">\n" "> > ## Solution\n" "> >\n" @@ -10342,11 +11230,11 @@ msgstr "" "> > {: .language-bash}" # blockquote, which can be cascaded -#: shell-novice/_episodes/07-find.md:341 +#: shell-novice/_episodes/07-find.md:344 msgid "> ## Little Women" msgstr "> ## Little Women" -#: shell-novice/_episodes/07-find.md:342 +#: shell-novice/_episodes/07-find.md:345 msgid "" ">\n" "> You and your friend, having just finished reading *Little Women* by\n" @@ -10385,8 +11273,10 @@ msgid "" "> > ```\n" "> > {: .source}\n" "> >\n" -"> > This solution is inferior because `grep -c` only reports the number of lines matched.\n" -"> > The total number of matches reported by this method will be lower if there is more\n" +"> > This solution is inferior because `grep -c` only reports the number of " +"lines matched.\n" +"> > The total number of matches reported by this method will be lower if " +"there is more\n" "> > than one match per line." msgstr "" ">\n" @@ -10426,11 +11316,13 @@ msgstr "" "> > ```\n" "> > {: .source}\n" "> >\n" -"> > This solution is inferior because `grep -c` only reports the number of lines matched.\n" -"> > The total number of matches reported by this method will be lower if there is more\n" +"> > This solution is inferior because `grep -c` only reports the number of " +"lines matched.\n" +"> > The total number of matches reported by this method will be lower if " +"there is more\n" "> > than one match per line." -#: shell-novice/_episodes/07-find.md:385 +#: shell-novice/_episodes/07-find.md:388 msgid "" "While `grep` finds lines in files,\n" "the `find` command finds files themselves.\n" @@ -10444,25 +11336,29 @@ msgstr "" "it has a lot of options;\n" "to show how the simplest ones work, we'll use the directory tree shown below." -#: shell-novice/_episodes/07-find.md:391 +#: shell-novice/_episodes/07-find.md:394 msgid "![File Tree for Find Example](../fig/find-file-tree.svg)" msgstr "![File Tree for Find Example](../fig/find-file-tree.svg)" -#: shell-novice/_episodes/07-find.md:393 +#: shell-novice/_episodes/07-find.md:396 msgid "" -"Nelle's `writing` directory contains one file called `haiku.txt` and three subdirectories:\n" +"Nelle's `writing` directory contains one file called `haiku.txt` and three " +"subdirectories:\n" "`thesis` (which contains a sadly empty file, `empty-draft.md`);\n" -"`data` (which contains three files `LittleWomen.txt`, `one.txt` and `two.txt`);\n" +"`data` (which contains three files `LittleWomen.txt`, `one.txt` and `two." +"txt`);\n" "and a `tools` directory that contains the programs `format` and `stats`,\n" "and a subdirectory called `old`, with a file `oldtool`." msgstr "" -"Nelle's `writing` directory contains one file called `haiku.txt` and three subdirectories:\n" +"Nelle's `writing` directory contains one file called `haiku.txt` and three " +"subdirectories:\n" "`thesis` (which contains a sadly empty file, `empty-draft.md`);\n" -"`data` (which contains three files `LittleWomen.txt`, `one.txt` and `two.txt`);\n" +"`data` (which contains three files `LittleWomen.txt`, `one.txt` and `two." +"txt`);\n" "and a `tools` directory that contains the programs `format` and `stats`,\n" "and a subdirectory called `old`, with a file `oldtool`." -#: shell-novice/_episodes/07-find.md:399 +#: shell-novice/_episodes/07-find.md:402 msgid "" "For our first command,\n" "let's run `find .`." @@ -10471,7 +11367,7 @@ msgstr "" "let's run `find .`." # code block -#: shell-novice/_episodes/07-find.md:402 +#: shell-novice/_episodes/07-find.md:405 msgid "" "~~~\n" "$ find .\n" @@ -10482,7 +11378,7 @@ msgstr "" "~~~" # code block -#: shell-novice/_episodes/07-find.md:407 +#: shell-novice/_episodes/07-find.md:410 msgid "" "~~~\n" ".\n" @@ -10516,7 +11412,7 @@ msgstr "" "./thesis/empty-draft.md\n" "~~~" -#: shell-novice/_episodes/07-find.md:424 +#: shell-novice/_episodes/07-find.md:427 msgid "" "As always,\n" "the `.` on its own means the current working directory,\n" @@ -10536,7 +11432,7 @@ msgstr "" "to filter the output and in this lesson we will discover some \n" "of them." -#: shell-novice/_episodes/07-find.md:433 +#: shell-novice/_episodes/07-find.md:436 msgid "" "The first option in our list is\n" "`-type d` that means \"things that are directories\".\n" @@ -10551,7 +11447,7 @@ msgstr "" "(including `.`):" # code block -#: shell-novice/_episodes/07-find.md:439 +#: shell-novice/_episodes/07-find.md:442 msgid "" "~~~\n" "$ find . -type d\n" @@ -10562,7 +11458,7 @@ msgstr "" "~~~" # code block -#: shell-novice/_episodes/07-find.md:444 +#: shell-novice/_episodes/07-find.md:447 msgid "" "~~~\n" "./\n" @@ -10580,18 +11476,20 @@ msgstr "" "./tools/old\n" "~~~" -#: shell-novice/_episodes/07-find.md:453 +#: shell-novice/_episodes/07-find.md:456 msgid "" -"Notice that the objects `find` finds are not listed in any particular order.\n" +"Notice that the objects `find` finds are not listed in any particular " +"order.\n" "If we change `-type d` to `-type f`,\n" "we get a listing of all the files instead:" msgstr "" -"Notice that the objects `find` finds are not listed in any particular order.\n" +"Notice that the objects `find` finds are not listed in any particular " +"order.\n" "If we change `-type d` to `-type f`,\n" "we get a listing of all the files instead:" # code block -#: shell-novice/_episodes/07-find.md:457 +#: shell-novice/_episodes/07-find.md:460 msgid "" "~~~\n" "$ find . -type f\n" @@ -10602,7 +11500,7 @@ msgstr "" "~~~" # code block -#: shell-novice/_episodes/07-find.md:462 +#: shell-novice/_episodes/07-find.md:465 msgid "" "~~~\n" "./haiku.txt\n" @@ -10626,12 +11524,12 @@ msgstr "" "./data/two.txt\n" "~~~" -#: shell-novice/_episodes/07-find.md:474 +#: shell-novice/_episodes/07-find.md:477 msgid "Now let's try matching by name:" msgstr "Now let's try matching by name:" # code block -#: shell-novice/_episodes/07-find.md:476 +#: shell-novice/_episodes/07-find.md:479 msgid "" "~~~\n" "$ find . -name *.txt\n" @@ -10642,7 +11540,7 @@ msgstr "" "~~~" # code block -#: shell-novice/_episodes/07-find.md:481 +#: shell-novice/_episodes/07-find.md:484 msgid "" "~~~\n" "./haiku.txt\n" @@ -10652,22 +11550,24 @@ msgstr "" "./haiku.txt\n" "~~~" -#: shell-novice/_episodes/07-find.md:486 +#: shell-novice/_episodes/07-find.md:489 msgid "" "We expected it to find all the text files,\n" "but it only prints out `./haiku.txt`.\n" -"The problem is that the shell expands wildcard characters like `*` *before* commands run.\n" +"The problem is that the shell expands wildcard characters like `*` *before* " +"commands run.\n" "Since `*.txt` in the current directory expands to `haiku.txt`,\n" "the command we actually ran was:" msgstr "" "We expected it to find all the text files,\n" "but it only prints out `./haiku.txt`.\n" -"The problem is that the shell expands wildcard characters like `*` *before* commands run.\n" +"The problem is that the shell expands wildcard characters like `*` *before* " +"commands run.\n" "Since `*.txt` in the current directory expands to `haiku.txt`,\n" "the command we actually ran was:" # code block -#: shell-novice/_episodes/07-find.md:492 +#: shell-novice/_episodes/07-find.md:495 msgid "" "~~~\n" "$ find . -name haiku.txt\n" @@ -10677,26 +11577,30 @@ msgstr "" "$ find . -name haiku.txt\n" "~~~" -#: shell-novice/_episodes/07-find.md:497 +#: shell-novice/_episodes/07-find.md:500 msgid "`find` did what we asked; we just asked for the wrong thing." msgstr "`find` did what we asked; we just asked for the wrong thing." -#: shell-novice/_episodes/07-find.md:499 +#: shell-novice/_episodes/07-find.md:502 msgid "" "To get what we want,\n" "let's do what we did with `grep`:\n" -"put `*.txt` in single quotes to prevent the shell from expanding the `*` wildcard.\n" +"put `*.txt` in single quotes to prevent the shell from expanding the `*` " +"wildcard.\n" "This way,\n" -"`find` actually gets the pattern `*.txt`, not the expanded filename `haiku.txt`:" +"`find` actually gets the pattern `*.txt`, not the expanded filename `haiku." +"txt`:" msgstr "" "To get what we want,\n" "let's do what we did with `grep`:\n" -"put `*.txt` in single quotes to prevent the shell from expanding the `*` wildcard.\n" +"put `*.txt` in single quotes to prevent the shell from expanding the `*` " +"wildcard.\n" "This way,\n" -"`find` actually gets the pattern `*.txt`, not the expanded filename `haiku.txt`:" +"`find` actually gets the pattern `*.txt`, not the expanded filename `haiku." +"txt`:" # code block -#: shell-novice/_episodes/07-find.md:505 +#: shell-novice/_episodes/07-find.md:508 msgid "" "~~~\n" "$ find . -name '*.txt'\n" @@ -10707,7 +11611,7 @@ msgstr "" "~~~" # code block -#: shell-novice/_episodes/07-find.md:510 +#: shell-novice/_episodes/07-find.md:513 msgid "" "~~~\n" "./data/one.txt\n" @@ -10724,11 +11628,11 @@ msgstr "" "~~~" # blockquote, which can be cascaded -#: shell-novice/_episodes/07-find.md:518 +#: shell-novice/_episodes/07-find.md:521 msgid "> ## Listing vs. Finding" msgstr "> ## Listing vs. Finding" -#: shell-novice/_episodes/07-find.md:519 +#: shell-novice/_episodes/07-find.md:522 msgid "" ">\n" "> `ls` and `find` can be made to do similar things given the right options,\n" @@ -10742,14 +11646,15 @@ msgstr "" "> `ls` lists everything it can,\n" "> while `find` searches for things with certain properties and shows them." -#: shell-novice/_episodes/07-find.md:526 +#: shell-novice/_episodes/07-find.md:529 msgid "" "As we said earlier,\n" "the command line's power lies in combining tools.\n" "We've seen how to do that with pipes;\n" "let's look at another technique.\n" "As we just saw,\n" -"`find . -name '*.txt'` gives us a list of all text files in or below the current directory.\n" +"`find . -name '*.txt'` gives us a list of all text files in or below the " +"current directory.\n" "How can we combine that with `wc -l` to count the lines in all those files?" msgstr "" "As we said earlier,\n" @@ -10757,15 +11662,16 @@ msgstr "" "We've seen how to do that with pipes;\n" "let's look at another technique.\n" "As we just saw,\n" -"`find . -name '*.txt'` gives us a list of all text files in or below the current directory.\n" +"`find . -name '*.txt'` gives us a list of all text files in or below the " +"current directory.\n" "How can we combine that with `wc -l` to count the lines in all those files?" -#: shell-novice/_episodes/07-find.md:534 +#: shell-novice/_episodes/07-find.md:537 msgid "The simplest way is to put the `find` command inside `$()`:" msgstr "The simplest way is to put the `find` command inside `$()`:" # code block -#: shell-novice/_episodes/07-find.md:536 +#: shell-novice/_episodes/07-find.md:539 msgid "" "~~~\n" "$ wc -l $(find . -name '*.txt')\n" @@ -10776,7 +11682,7 @@ msgstr "" "~~~" # code block -#: shell-novice/_episodes/07-find.md:541 +#: shell-novice/_episodes/07-find.md:544 msgid "" "~~~\n" "11 ./haiku.txt\n" @@ -10794,22 +11700,24 @@ msgstr "" "21403 total\n" "~~~" -#: shell-novice/_episodes/07-find.md:550 +#: shell-novice/_episodes/07-find.md:553 msgid "" "When the shell executes this command,\n" "the first thing it does is run whatever is inside the `$()`.\n" "It then replaces the `$()` expression with that command's output.\n" -"Since the output of `find` is the four filenames `./data/one.txt`, `./data/LittleWomen.txt`, `./data/two.txt`, and `./haiku.txt`,\n" +"Since the output of `find` is the four filenames `./data/one.txt`, `./data/" +"LittleWomen.txt`, `./data/two.txt`, and `./haiku.txt`,\n" "the shell constructs the command:" msgstr "" "When the shell executes this command,\n" "the first thing it does is run whatever is inside the `$()`.\n" "It then replaces the `$()` expression with that command's output.\n" -"Since the output of `find` is the four filenames `./data/one.txt`, `./data/LittleWomen.txt`, `./data/two.txt`, and `./haiku.txt`,\n" +"Since the output of `find` is the four filenames `./data/one.txt`, `./data/" +"LittleWomen.txt`, `./data/two.txt`, and `./haiku.txt`,\n" "the shell constructs the command:" # code block -#: shell-novice/_episodes/07-find.md:556 +#: shell-novice/_episodes/07-find.md:559 msgid "" "~~~\n" "$ wc -l ./data/one.txt ./data/LittleWomen.txt ./data/two.txt ./haiku.txt\n" @@ -10819,32 +11727,36 @@ msgstr "" "$ wc -l ./data/one.txt ./data/LittleWomen.txt ./data/two.txt ./haiku.txt\n" "~~~" -#: shell-novice/_episodes/07-find.md:561 +#: shell-novice/_episodes/07-find.md:564 msgid "" "which is what we wanted.\n" -"This expansion is exactly what the shell does when it expands wildcards like `*` and `?`,\n" +"This expansion is exactly what the shell does when it expands wildcards like " +"`*` and `?`,\n" "but lets us use any command we want as our own \"wildcard\"." msgstr "" "which is what we wanted.\n" -"This expansion is exactly what the shell does when it expands wildcards like `*` and `?`,\n" +"This expansion is exactly what the shell does when it expands wildcards like " +"`*` and `?`,\n" "but lets us use any command we want as our own \"wildcard\"." -#: shell-novice/_episodes/07-find.md:565 +#: shell-novice/_episodes/07-find.md:568 msgid "" "It's very common to use `find` and `grep` together.\n" "The first finds files that match a pattern;\n" "the second looks for lines inside those files that match another pattern.\n" "Here, for example, we can find PDB files that contain iron atoms\n" -"by looking for the string \"FE\" in all the `.pdb` files above the current directory:" +"by looking for the string \"FE\" in all the `.pdb` files above the current " +"directory:" msgstr "" "It's very common to use `find` and `grep` together.\n" "The first finds files that match a pattern;\n" "the second looks for lines inside those files that match another pattern.\n" "Here, for example, we can find PDB files that contain iron atoms\n" -"by looking for the string \"FE\" in all the `.pdb` files above the current directory:" +"by looking for the string \"FE\" in all the `.pdb` files above the current " +"directory:" # code block -#: shell-novice/_episodes/07-find.md:571 +#: shell-novice/_episodes/07-find.md:574 msgid "" "~~~\n" "$ grep \"FE\" $(find .. -name '*.pdb')\n" @@ -10855,7 +11767,7 @@ msgstr "" "~~~" # code block -#: shell-novice/_episodes/07-find.md:576 +#: shell-novice/_episodes/07-find.md:579 msgid "" "~~~\n" "../data/pdb/heme.pdb:ATOM 25 FE 1 -0.924 0.535 -0.518\n" @@ -10866,11 +11778,11 @@ msgstr "" "~~~" # blockquote, which can be cascaded -#: shell-novice/_episodes/07-find.md:581 +#: shell-novice/_episodes/07-find.md:584 msgid "> ## Matching and Subtracting" msgstr "> ## Matching and Subtracting" -#: shell-novice/_episodes/07-find.md:582 +#: shell-novice/_episodes/07-find.md:585 msgid "" ">\n" "> The `-v` flag to `grep` inverts pattern matching, so that only lines\n" @@ -10878,7 +11790,8 @@ msgid "" "> the following commands will find all files in `/data` whose names\n" "> end in `s.txt` (e.g., `animals.txt` or `planets.txt`), but do\n" "> *not* contain the word `net`?\n" -"> Once you have thought about your answer, you can test the commands in the `data-shell`\n" +"> Once you have thought about your answer, you can test the commands in the " +"`data-shell`\n" "> directory.\n" ">\n" "> 1. `find data -name '*s.txt' | grep -v net`\n" @@ -10887,13 +11800,16 @@ msgid "" "> 4. None of the above.\n" ">\n" "> > ## Solution\n" -"> > The correct answer is 1. Putting the match expression in quotes prevents the shell\n" +"> > The correct answer is 1. Putting the match expression in quotes prevents " +"the shell\n" "> > expanding it, so it gets passed to the `find` command.\n" "> >\n" -"> > Option 2 is incorrect because the shell expands `*s.txt` instead of passing the wildcard\n" +"> > Option 2 is incorrect because the shell expands `*s.txt` instead of " +"passing the wildcard\n" "> > expression to `find`.\n" "> >\n" -"> > Option 3 is incorrect because it searches the contents of the files for lines which\n" +"> > Option 3 is incorrect because it searches the contents of the files for " +"lines which\n" "> > do not match \"temp\", rather than searching the file names." msgstr "" ">\n" @@ -10902,7 +11818,8 @@ msgstr "" "> the following commands will find all files in `/data` whose names\n" "> end in `s.txt` (e.g., `animals.txt` or `planets.txt`), but do\n" "> *not* contain the word `net`?\n" -"> Once you have thought about your answer, you can test the commands in the `data-shell`\n" +"> Once you have thought about your answer, you can test the commands in the " +"`data-shell`\n" "> directory.\n" ">\n" "> 1. `find data -name '*s.txt' | grep -v net`\n" @@ -10911,21 +11828,24 @@ msgstr "" "> 4. None of the above.\n" ">\n" "> > ## Solution\n" -"> > The correct answer is 1. Putting the match expression in quotes prevents the shell\n" +"> > The correct answer is 1. Putting the match expression in quotes prevents " +"the shell\n" "> > expanding it, so it gets passed to the `find` command.\n" "> >\n" -"> > Option 2 is incorrect because the shell expands `*s.txt` instead of passing the wildcard\n" +"> > Option 2 is incorrect because the shell expands `*s.txt` instead of " +"passing the wildcard\n" "> > expression to `find`.\n" "> >\n" -"> > Option 3 is incorrect because it searches the contents of the files for lines which\n" +"> > Option 3 is incorrect because it searches the contents of the files for " +"lines which\n" "> > do not match \"temp\", rather than searching the file names." # blockquote, which can be cascaded -#: shell-novice/_episodes/07-find.md:608 +#: shell-novice/_episodes/07-find.md:611 msgid "> ## Binary Files" msgstr "> ## Binary Files" -#: shell-novice/_episodes/07-find.md:609 +#: shell-novice/_episodes/07-find.md:612 msgid "" ">\n" "> We have focused exclusively on finding things in text files. What if\n" @@ -10973,7 +11893,7 @@ msgstr "" "> modern programming languages have borrowed a lot of\n" "> ideas from it, and imitation is also the sincerest form of praise." -#: shell-novice/_episodes/07-find.md:633 +#: shell-novice/_episodes/07-find.md:636 msgid "" "The Unix shell is older than most of the people who use it. It has\n" "survived so long because it is one of the most productive programming\n" @@ -10998,11 +11918,11 @@ msgstr "" "about them.\"" # blockquote, which can be cascaded -#: shell-novice/_episodes/07-find.md:644 +#: shell-novice/_episodes/07-find.md:647 msgid "> ## `find` Pipeline Reading Comprehension" msgstr "> ## `find` Pipeline Reading Comprehension" -#: shell-novice/_episodes/07-find.md:645 +#: shell-novice/_episodes/07-find.md:648 msgid "" ">\n" "> Write a short explanatory comment for the following shell script:\n" @@ -11031,36 +11951,43 @@ msgstr "" "> > 3. Sort the output from step 2. numerically" # blockquote, which can be cascaded -#: shell-novice/_episodes/07-find.md:660 +#: shell-novice/_episodes/07-find.md:663 msgid "> ## Finding Files With Different Properties" msgstr "> ## Finding Files With Different Properties" # blockquote, which can be cascaded -#: shell-novice/_episodes/07-find.md:662 -msgid "> The `find` command can be given several other criteria known as \"tests\"" -msgstr "> The `find` command can be given several other criteria known as \"tests\"" +#: shell-novice/_episodes/07-find.md:665 +msgid "" +"> The `find` command can be given several other criteria known as \"tests\"" +msgstr "" +"> The `find` command can be given several other criteria known as \"tests\"" # blockquote, which can be cascaded -#: shell-novice/_episodes/07-find.md:663 -msgid "> to locate files with specific attributes, such as creation time, size," -msgstr "> to locate files with specific attributes, such as creation time, size," +#: shell-novice/_episodes/07-find.md:666 +msgid "" +"> to locate files with specific attributes, such as creation time, size," +msgstr "" +"> to locate files with specific attributes, such as creation time, size," # blockquote, which can be cascaded -#: shell-novice/_episodes/07-find.md:664 +#: shell-novice/_episodes/07-find.md:667 msgid "> permissions, or ownership. Use `man find` to explore these, and then" -msgstr "> permissions, or ownership. Use `man find` to explore these, and then" +msgstr "" +"> permissions, or ownership. Use `man find` to explore these, and then" # blockquote, which can be cascaded -#: shell-novice/_episodes/07-find.md:665 -msgid "> write a single command to find all files in or below the current directory" -msgstr "> write a single command to find all files in or below the current directory" +#: shell-novice/_episodes/07-find.md:668 +msgid "" +"> write a single command to find all files in or below the current directory" +msgstr "" +"> write a single command to find all files in or below the current directory" # blockquote, which can be cascaded -#: shell-novice/_episodes/07-find.md:666 +#: shell-novice/_episodes/07-find.md:669 msgid "> that were modified by the user `ahmed` in the last 24 hours." msgstr "> that were modified by the user `ahmed` in the last 24 hours." -#: shell-novice/_episodes/07-find.md:667 +#: shell-novice/_episodes/07-find.md:670 msgid "" ">\n" "> Hint 1: you will need to use three tests: `-type`, `-mtime`, and `-user`.\n" @@ -11163,14 +12090,16 @@ msgid "" "\"control codes\" by holding down the `Ctrl` key and then pressing one\n" "of the control characters. In other tutorials, you may see the term\n" "`Control` or the `^` used to represent the `Ctrl` key (e.g. the\n" -"following are all equivalent `Ctrl-C`, `Ctrl+C`, `Control-C`, `Control+C`, `^C`)." +"following are all equivalent `Ctrl-C`, `Ctrl+C`, `Control-C`, `Control+C`, " +"`^C`)." msgstr "" "The shell accepts a few special commands that allow users to interact\n" "with running processes or programs. You can enter each of these\n" "\"control codes\" by holding down the `Ctrl` key and then pressing one\n" "of the control characters. In other tutorials, you may see the term\n" "`Control` or the `^` used to represent the `Ctrl` key (e.g. the\n" -"following are all equivalent `Ctrl-C`, `Ctrl+C`, `Control-C`, `Control+C`, `^C`)." +"following are all equivalent `Ctrl-C`, `Ctrl+C`, `Control-C`, `Control+C`, " +"`^C`)." # unordered list #: shell-novice/_extras/discuss.md:28 @@ -11180,10 +12109,12 @@ msgstr "* `Ctrl-C`:" #: shell-novice/_extras/discuss.md:29 msgid "" " interrupts and cancels a running program.\n" -" This is useful if you want to cancel a command that is taking too long to execute." +" This is useful if you want to cancel a command that is taking too long " +"to execute." msgstr "" " interrupts and cancels a running program.\n" -" This is useful if you want to cancel a command that is taking too long to execute." +" This is useful if you want to cancel a command that is taking too long " +"to execute." # unordered list #: shell-novice/_extras/discuss.md:32 @@ -11192,19 +12123,27 @@ msgstr "* `Ctrl-D`:" #: shell-novice/_extras/discuss.md:33 msgid "" -" indicates the end of a file or stream of characters that you are entering on the command line.\n" -" For example, we saw earlier that the `wc` command counts lines, words, and characters in a file.\n" -" If we just type `wc` and hit the Enter key without providing a file name,\n" +" indicates the end of a file or stream of characters that you are " +"entering on the command line.\n" +" For example, we saw earlier that the `wc` command counts lines, words, " +"and characters in a file.\n" +" If we just type `wc` and hit the Enter key without providing a file " +"name,\n" " then `wc` will assume we want it to analyze all the stuff we type next.\n" " After typing our magnum opus directly into the shell prompt,\n" -" we can then type Ctrl-D to tell `wc` that we're done and we'd like to see the results of the word count." -msgstr "" -" indicates the end of a file or stream of characters that you are entering on the command line.\n" -" For example, we saw earlier that the `wc` command counts lines, words, and characters in a file.\n" -" If we just type `wc` and hit the Enter key without providing a file name,\n" +" we can then type Ctrl-D to tell `wc` that we're done and we'd like to " +"see the results of the word count." +msgstr "" +" indicates the end of a file or stream of characters that you are " +"entering on the command line.\n" +" For example, we saw earlier that the `wc` command counts lines, words, " +"and characters in a file.\n" +" If we just type `wc` and hit the Enter key without providing a file " +"name,\n" " then `wc` will assume we want it to analyze all the stuff we type next.\n" " After typing our magnum opus directly into the shell prompt,\n" -" we can then type Ctrl-D to tell `wc` that we're done and we'd like to see the results of the word count." +" we can then type Ctrl-D to tell `wc` that we're done and we'd like to " +"see the results of the word count." # unordered list #: shell-novice/_extras/discuss.md:40 @@ -11271,19 +12210,25 @@ msgstr "## Bash Configurations" msgid "" "Want to customize paths, environment variables, aliases,\n" "and other behaviors of your shell?\n" -"This excellent blog post \"[Bash Configurations Demystified][bash-demystified]\"\n" +"This excellent blog post \"[Bash Configurations Demystified][bash-" +"demystified]\"\n" "from Dalton Hubble\n" "covers tips, tricks, and how to avoid dangers." msgstr "" "Want to customize paths, environment variables, aliases,\n" "and other behaviors of your shell?\n" -"This excellent blog post \"[Bash Configurations Demystified][bash-demystified]\"\n" +"This excellent blog post \"[Bash Configurations Demystified][bash-" +"demystified]\"\n" "from Dalton Hubble\n" "covers tips, tricks, and how to avoid dangers." #: shell-novice/_extras/discuss.md:71 -msgid "[bash-demystified]: https://blog.dghubble.io/post/.bashprofile-.profile-and-.bashrc-conventions/" -msgstr "[bash-demystified]: https://blog.dghubble.io/post/.bashprofile-.profile-and-.bashrc-conventions/" +msgid "" +"[bash-demystified]: https://blog.dghubble.io/post/.bashprofile-.profile-and-." +"bashrc-conventions/" +msgstr "" +"[bash-demystified]: https://blog.dghubble.io/post/.bashprofile-.profile-and-." +"bashrc-conventions/" # Front Matter #: shell-novice/_extras/figures.md:1 @@ -11308,17 +12253,22 @@ msgid "" " \"{{ episode.url}}\"{% unless forloop.last %},{% endunless %}\n" " {% endfor %}\n" " ];\n" -" var xmlHttp = []; /* Required since we are going to query every episode. */\n" +" var xmlHttp = []; /* Required since we are going to query every " +"episode. */\n" " for (i=0; i < lesson_episodes.length; i++) {\n" " xmlHttp[i] = new XMLHttpRequest();\n" -" xmlHttp[i].episode = lesson_episodes[i]; /* To enable use this later. */\n" +" xmlHttp[i].episode = lesson_episodes[i]; /* To enable use this later. " +"*/\n" " xmlHttp[i].onreadystatechange = function() {\n" " if (this.readyState == 4 && this.status == 200) {\n" " var article_here = document.getElementById(this.episode);\n" " var parser = new DOMParser();\n" -" var htmlDoc = parser.parseFromString(this.responseText,\"text/html\");\n" -" var htmlDocArticle = htmlDoc.getElementsByTagName(\"article\")[0];\n" -" article_here.appendChild(htmlDocArticle.getElementsByTagName(\"h1\")[0]);\n" +" var htmlDoc = parser.parseFromString(this.responseText,\"text/html" +"\");\n" +" var htmlDocArticle = htmlDoc.getElementsByTagName(\"article\")" +"[0];\n" +" article_here.appendChild(htmlDocArticle." +"getElementsByTagName(\"h1\")[0]);\n" " for (let image of htmlDocArticle.getElementsByTagName(\"img\")) {\n" " article_here.appendChild(image);\n" " }\n" @@ -11338,17 +12288,22 @@ msgstr "" " \"{{ episode.url}}\"{% unless forloop.last %},{% endunless %}\n" " {% endfor %}\n" " ];\n" -" var xmlHttp = []; /* Required since we are going to query every episode. */\n" +" var xmlHttp = []; /* Required since we are going to query every " +"episode. */\n" " for (i=0; i < lesson_episodes.length; i++) {\n" " xmlHttp[i] = new XMLHttpRequest();\n" -" xmlHttp[i].episode = lesson_episodes[i]; /* To enable use this later. */\n" +" xmlHttp[i].episode = lesson_episodes[i]; /* To enable use this later. " +"*/\n" " xmlHttp[i].onreadystatechange = function() {\n" " if (this.readyState == 4 && this.status == 200) {\n" " var article_here = document.getElementById(this.episode);\n" " var parser = new DOMParser();\n" -" var htmlDoc = parser.parseFromString(this.responseText,\"text/html\");\n" -" var htmlDocArticle = htmlDoc.getElementsByTagName(\"article\")[0];\n" -" article_here.appendChild(htmlDocArticle.getElementsByTagName(\"h1\")[0]);\n" +" var htmlDoc = parser.parseFromString(this.responseText,\"text/html" +"\");\n" +" var htmlDocArticle = htmlDoc.getElementsByTagName(\"article\")" +"[0];\n" +" article_here.appendChild(htmlDocArticle." +"getElementsByTagName(\"h1\")[0]);\n" " for (let image of htmlDocArticle.getElementsByTagName(\"img\")) {\n" " article_here.appendChild(image);\n" " }\n" @@ -11404,34 +12359,44 @@ msgstr " * Allows users to automate repetitive tasks" # unordered list #: shell-novice/_extras/guide.md:8 -msgid " * And capture small data manipulation steps that are normally not recorded" -msgstr " * And capture small data manipulation steps that are normally not recorded" +msgid "" +" * And capture small data manipulation steps that are normally not " +"recorded" +msgstr "" +" * And capture small data manipulation steps that are normally not " +"recorded" #: shell-novice/_extras/guide.md:9 msgid "" " to make research reproducible\n" "* The Problem\n" -" * Running the same workflow on several samples can be unnecessarily labour intensive\n" +" * Running the same workflow on several samples can be unnecessarily " +"labour intensive\n" " * Manual manipulation of data files:\n" " * is often not captured in documentation\n" " * is hard to reproduce\n" " * is hard to troubleshoot, review, or improve\n" "* The Shell\n" " * Workflows can be automated through the use of shell scripts\n" -" * Built-in commands allow for easy data manipulation (e.g. sort, grep, etc.)\n" -" * Every step can be captured in the shell script and allow reproducibility and easy troubleshooting" +" * Built-in commands allow for easy data manipulation (e.g. sort, grep, " +"etc.)\n" +" * Every step can be captured in the shell script and allow " +"reproducibility and easy troubleshooting" msgstr "" " to make research reproducible\n" "* The Problem\n" -" * Running the same workflow on several samples can be unnecessarily labour intensive\n" +" * Running the same workflow on several samples can be unnecessarily " +"labour intensive\n" " * Manual manipulation of data files:\n" " * is often not captured in documentation\n" " * is hard to reproduce\n" " * is hard to troubleshoot, review, or improve\n" "* The Shell\n" " * Workflows can be automated through the use of shell scripts\n" -" * Built-in commands allow for easy data manipulation (e.g. sort, grep, etc.)\n" -" * Every step can be captured in the shell script and allow reproducibility and easy troubleshooting" +" * Built-in commands allow for easy data manipulation (e.g. sort, grep, " +"etc.)\n" +" * Every step can be captured in the shell script and allow " +"reproducibility and easy troubleshooting" # header #: shell-novice/_extras/guide.md:21 @@ -11445,7 +12410,8 @@ msgid "" "anyone who wants to rename several thousand data files\n" "can easily do so interactively in the Python interpreter,\n" "and anyone who's doing serious data analysis\n" -"is probably going to do most of their work inside the IPython Notebook or R Studio.\n" +"is probably going to do most of their work inside the IPython Notebook or R " +"Studio.\n" "So why teach the shell?" msgstr "" "Many people have questioned whether we should still teach the shell.\n" @@ -11453,7 +12419,8 @@ msgstr "" "anyone who wants to rename several thousand data files\n" "can easily do so interactively in the Python interpreter,\n" "and anyone who's doing serious data analysis\n" -"is probably going to do most of their work inside the IPython Notebook or R Studio.\n" +"is probably going to do most of their work inside the IPython Notebook or R " +"Studio.\n" "So why teach the shell?" #: shell-novice/_extras/guide.md:31 @@ -11462,7 +12429,8 @@ msgid "" "\"Because so much else depends on it.\"\n" "Installing software,\n" "configuring your default editor,\n" -"and controlling remote machines frequently assume a basic familiarity with the shell,\n" +"and controlling remote machines frequently assume a basic familiarity with " +"the shell,\n" "and with related ideas like standard input and output.\n" "Many tools also use its terminology\n" "(for example, the `%ls` and `%cd` magic commands in IPython)." @@ -11471,7 +12439,8 @@ msgstr "" "\"Because so much else depends on it.\"\n" "Installing software,\n" "configuring your default editor,\n" -"and controlling remote machines frequently assume a basic familiarity with the shell,\n" +"and controlling remote machines frequently assume a basic familiarity with " +"the shell,\n" "and with related ideas like standard input and output.\n" "Many tools also use its terminology\n" "(for example, the `%ls` and `%cd` magic commands in IPython)." @@ -11479,7 +12448,8 @@ msgstr "" #: shell-novice/_extras/guide.md:40 msgid "" "The second answer is,\n" -"\"Because it's an easy way to introduce some fundamental ideas about how to use computers.\"\n" +"\"Because it's an easy way to introduce some fundamental ideas about how to " +"use computers.\"\n" "As we teach people how to use the Unix shell,\n" "we teach them that they should get the computer to repeat things\n" "(via tab completion,\n" @@ -11495,7 +12465,8 @@ msgid "" "to make their future selves' lives better." msgstr "" "The second answer is,\n" -"\"Because it's an easy way to introduce some fundamental ideas about how to use computers.\"\n" +"\"Because it's an easy way to introduce some fundamental ideas about how to " +"use computers.\"\n" "As we teach people how to use the Unix shell,\n" "we teach them that they should get the computer to repeat things\n" "(via tab completion,\n" @@ -11513,26 +12484,32 @@ msgstr "" #: shell-novice/_extras/guide.md:56 msgid "" "The third answer is,\n" -"\"Because it enables use of many domain-specific tools and compute resources researchers cannot access otherwise.\"\n" +"\"Because it enables use of many domain-specific tools and compute resources " +"researchers cannot access otherwise.\"\n" "Familiarity with the shell is very useful for remote accessing machines,\n" "using high-performance computing infrastructure,\n" "and running new specialist tools in many disciplines.\n" "We do not teach HPC or domain-specific skills here\n" "but lay the groundwork for further development of these skills.\n" "In particular,\n" -"understanding the syntax of commands, flags, and help systems is useful for domain specific tools\n" -"and understanding the file system (and how to navigate it) is useful for remote access." +"understanding the syntax of commands, flags, and help systems is useful for " +"domain specific tools\n" +"and understanding the file system (and how to navigate it) is useful for " +"remote access." msgstr "" "The third answer is,\n" -"\"Because it enables use of many domain-specific tools and compute resources researchers cannot access otherwise.\"\n" +"\"Because it enables use of many domain-specific tools and compute resources " +"researchers cannot access otherwise.\"\n" "Familiarity with the shell is very useful for remote accessing machines,\n" "using high-performance computing infrastructure,\n" "and running new specialist tools in many disciplines.\n" "We do not teach HPC or domain-specific skills here\n" "but lay the groundwork for further development of these skills.\n" "In particular,\n" -"understanding the syntax of commands, flags, and help systems is useful for domain specific tools\n" -"and understanding the file system (and how to navigate it) is useful for remote access." +"understanding the syntax of commands, flags, and help systems is useful for " +"domain specific tools\n" +"and understanding the file system (and how to navigate it) is useful for " +"remote access." #: shell-novice/_extras/guide.md:67 msgid "" @@ -11584,20 +12561,28 @@ msgstr "## Preparing to Teach" # unordered list #: shell-novice/_extras/guide.md:86 -msgid "* Use the `data` directory for in-workshop exercises and live coding examples." -msgstr "* Use the `data` directory for in-workshop exercises and live coding examples." +msgid "" +"* Use the `data` directory for in-workshop exercises and live coding " +"examples." +msgstr "" +"* Use the `data` directory for in-workshop exercises and live coding " +"examples." #: shell-novice/_extras/guide.md:87 msgid "" " You can clone the shell-novice directory or use the `Download ZIP`\n" -" button on the right to get the entire [repository](https://github.com/swcarpentry/shell-novice). We also now provide\n" +" button on the right to get the entire [repository](https://github.com/" +"swcarpentry/shell-novice). We also now provide\n" " a zip file of the `data` directory that can be downloaded on its own\n" -" from the repository by right-click + save or see the [\"setup\"]({{ page.root }}/setup/) page on the lesson website for more details. " +" from the repository by right-click + save or see the [\"setup\"]" +"({{ page.root }}/setup/) page on the lesson website for more details. " msgstr "" " You can clone the shell-novice directory or use the `Download ZIP`\n" -" button on the right to get the entire [repository](https://github.com/swcarpentry/shell-novice). We also now provide\n" +" button on the right to get the entire [repository](https://github.com/" +"swcarpentry/shell-novice). We also now provide\n" " a zip file of the `data` directory that can be downloaded on its own\n" -" from the repository by right-click + save or see the [\"setup\"]({{ page.root }}/setup/) page on the lesson website for more details. " +" from the repository by right-click + save or see the [\"setup\"]" +"({{ page.root }}/setup/) page on the lesson website for more details. " # unordered list #: shell-novice/_extras/guide.md:92 @@ -11606,22 +12591,34 @@ msgstr "* Website: various practices have been used." # unordered list #: shell-novice/_extras/guide.md:93 -msgid " * Option 1: Can give links to learners before the lesson so they can follow along," -msgstr " * Option 1: Can give links to learners before the lesson so they can follow along," +msgid "" +" * Option 1: Can give links to learners before the lesson so they can " +"follow along," +msgstr "" +" * Option 1: Can give links to learners before the lesson so they can " +"follow along," #: shell-novice/_extras/guide.md:94 msgid "" " catch up,\n" -"\tand see exercises (particularly if you're following the lesson content without many changes).\n" -" * Option 2: Don't show the website to the learners during the lesson, as it can be distracting:\n" -" students may read instead of listen, and having another window open is an additional cognitive load.\n" -"\t* In any case, make sure to point to website as a post-workshop reference." +"\tand see exercises (particularly if you're following the lesson content " +"without many changes).\n" +" * Option 2: Don't show the website to the learners during the lesson, " +"as it can be distracting:\n" +" students may read instead of listen, and having another window open " +"is an additional cognitive load.\n" +"\t* In any case, make sure to point to website as a post-workshop " +"reference." msgstr "" " catch up,\n" -"\tand see exercises (particularly if you're following the lesson content without many changes).\n" -" * Option 2: Don't show the website to the learners during the lesson, as it can be distracting:\n" -" students may read instead of listen, and having another window open is an additional cognitive load.\n" -"\t* In any case, make sure to point to website as a post-workshop reference." +"\tand see exercises (particularly if you're following the lesson content " +"without many changes).\n" +" * Option 2: Don't show the website to the learners during the lesson, " +"as it can be distracting:\n" +" students may read instead of listen, and having another window open " +"is an additional cognitive load.\n" +"\t* In any case, make sure to point to website as a post-workshop " +"reference." # unordered list #: shell-novice/_extras/guide.md:100 @@ -11631,12 +12628,16 @@ msgstr "* Content:" #: shell-novice/_extras/guide.md:101 msgid "" " Unless you have a truly generous amount of time (4+ hours),\n" -" it is likely that you will not cover ALL the material in this lesson in a single half-day session.\n" -" Plan ahead on what you might skip, what you really want to emphasize, etc." +" it is likely that you will not cover ALL the material in this lesson in " +"a single half-day session.\n" +" Plan ahead on what you might skip, what you really want to emphasize, " +"etc." msgstr "" " Unless you have a truly generous amount of time (4+ hours),\n" -" it is likely that you will not cover ALL the material in this lesson in a single half-day session.\n" -" Plan ahead on what you might skip, what you really want to emphasize, etc." +" it is likely that you will not cover ALL the material in this lesson in " +"a single half-day session.\n" +" Plan ahead on what you might skip, what you really want to emphasize, " +"etc." # unordered list #: shell-novice/_extras/guide.md:105 @@ -11645,13 +12646,15 @@ msgstr "* Exercises:" #: shell-novice/_extras/guide.md:106 msgid "" -" Think in advance about how you might want to handle exercises during the lesson.\n" +" Think in advance about how you might want to handle exercises during the " +"lesson.\n" " How are you assigning them (website, slide, handout)?\n" " Do you want everyone to try it and then you show the solution?\n" " Have a learner show the solution?\n" " Have groups each do a different exercise and present their solutions?" msgstr "" -" Think in advance about how you might want to handle exercises during the lesson.\n" +" Think in advance about how you might want to handle exercises during the " +"lesson.\n" " How are you assigning them (website, slide, handout)?\n" " Do you want everyone to try it and then you show the solution?\n" " Have a learner show the solution?\n" @@ -11659,8 +12662,12 @@ msgstr "" # unordered list #: shell-novice/_extras/guide.md:112 -msgid "* `reference.md` can be printed out and given to students as a reference, your choice." -msgstr "* `reference.md` can be printed out and given to students as a reference, your choice." +msgid "" +"* `reference.md` can be printed out and given to students as a reference, " +"your choice." +msgstr "" +"* `reference.md` can be printed out and given to students as a reference, " +"your choice." # unordered list #: shell-novice/_extras/guide.md:114 @@ -11706,29 +12713,35 @@ msgstr "" " where `man` could not work." # unordered list -#: shell-novice/_extras/guide.md:127 +#: shell-novice/_extras/guide.md:130 msgid "* Another super cool online resource is ," msgstr "* Another super cool online resource is ," -#: shell-novice/_extras/guide.md:128 -msgid " which will check shell scripts (both uploaded and typed in) for common errors." -msgstr " which will check shell scripts (both uploaded and typed in) for common errors." +#: shell-novice/_extras/guide.md:131 +msgid "" +" which will check shell scripts (both uploaded and typed in) for common " +"errors." +msgstr "" +" which will check shell scripts (both uploaded and typed in) for common " +"errors." # unordered list -#: shell-novice/_extras/guide.md:130 +#: shell-novice/_extras/guide.md:133 msgid "* Resources for \"splitting\" your shell so that recent commands" msgstr "* Resources for \"splitting\" your shell so that recent commands" -#: shell-novice/_extras/guide.md:131 -msgid " remain in view: ." -msgstr " remain in view: ." +#: shell-novice/_extras/guide.md:134 +msgid "" +" remain in view: ." +msgstr "" +" remain in view: ." # unordered list -#: shell-novice/_extras/guide.md:133 +#: shell-novice/_extras/guide.md:136 msgid "* Running a text editor from the command line can be" msgstr "* Running a text editor from the command line can be" -#: shell-novice/_extras/guide.md:134 +#: shell-novice/_extras/guide.md:137 msgid "" " the biggest stumbling block during the entire lesson:\n" " many will try to run the same editor as the instructor\n" @@ -11736,7 +12749,8 @@ msgid "" " or will not know how to navigate to the right directory\n" " to save their file,\n" " or will run a word processor rather than a plain text editor.\n" -" The quickest way past these problems is to have more knowledgeable learners\n" +" The quickest way past these problems is to have more knowledgeable " +"learners\n" " help those who need it." msgstr "" " the biggest stumbling block during the entire lesson:\n" @@ -11745,37 +12759,43 @@ msgstr "" " or will not know how to navigate to the right directory\n" " to save their file,\n" " or will run a word processor rather than a plain text editor.\n" -" The quickest way past these problems is to have more knowledgeable learners\n" +" The quickest way past these problems is to have more knowledgeable " +"learners\n" " help those who need it." # unordered list -#: shell-novice/_extras/guide.md:143 +#: shell-novice/_extras/guide.md:146 msgid "* Introducing and navigating the filesystem in the shell (covered in" msgstr "* Introducing and navigating the filesystem in the shell (covered in" -#: shell-novice/_extras/guide.md:144 +#: shell-novice/_extras/guide.md:147 +#, fuzzy msgid "" -" [Navigating Files and Directories]({{ page.root }}/02-filedir/) section)\n" -" can be confusing. You may have both terminal and GUI file explorer open\n" +" [Navigating Files and Directories]({{ page.root }}/02-filedir/) " +"section)\n" +" can be confusing. You may have both terminal and GUI file explorer " +"open \n" " side by side so learners can see the content and file structure while\n" " they're using terminal to navigate the system." msgstr "" -" [Navigating Files and Directories]({{ page.root }}/02-filedir/) section)\n" +" [Navigating Files and Directories]({{ page.root }}/02-filedir/) " +"section)\n" " can be confusing. You may have both terminal and GUI file explorer open\n" " side by side so learners can see the content and file structure while\n" " they're using terminal to navigate the system." # unordered list -#: shell-novice/_extras/guide.md:146 +#: shell-novice/_extras/guide.md:152 msgid "* Tab completion sounds like a small thing: it isn't." msgstr "* Tab completion sounds like a small thing: it isn't." -#: shell-novice/_extras/guide.md:147 +#: shell-novice/_extras/guide.md:153 msgid "" " Re-running old commands using `!123` or `!wc`\n" " isn't a small thing either,\n" " and neither are wildcard expansion and `for` loops.\n" -" Each one is an opportunity to repeat one of the big ideas of Software Carpentry:\n" +" Each one is an opportunity to repeat one of the big ideas of Software " +"Carpentry:\n" " if the computer *can* repeat it,\n" " some programmer somewhere will almost certainly have built\n" " some way for the computer *to* repeat it." @@ -11783,17 +12803,18 @@ msgstr "" " Re-running old commands using `!123` or `!wc`\n" " isn't a small thing either,\n" " and neither are wildcard expansion and `for` loops.\n" -" Each one is an opportunity to repeat one of the big ideas of Software Carpentry:\n" +" Each one is an opportunity to repeat one of the big ideas of Software " +"Carpentry:\n" " if the computer *can* repeat it,\n" " some programmer somewhere will almost certainly have built\n" " some way for the computer *to* repeat it." # unordered list -#: shell-novice/_extras/guide.md:155 +#: shell-novice/_extras/guide.md:161 msgid "* Building up a pipeline with four or five stages," msgstr "* Building up a pipeline with four or five stages," -#: shell-novice/_extras/guide.md:156 +#: shell-novice/_extras/guide.md:162 msgid "" " then putting it in a shell script for re-use\n" " and calling that script inside a `for` loop,\n" @@ -11826,36 +12847,45 @@ msgstr "" " for future re-use." # unordered list -#: shell-novice/_extras/guide.md:171 +#: shell-novice/_extras/guide.md:177 msgid "* If everything is going well, you can drive home the point that file" -msgstr "* If everything is going well, you can drive home the point that file" +msgstr "" +"* If everything is going well, you can drive home the point that file" -#: shell-novice/_extras/guide.md:172 +#: shell-novice/_extras/guide.md:178 msgid "" " extensions are essentially there to help computers (and human\n" " readers) understand file content and are not a requirement of files\n" -" (covered briefly in [Navigating Files and Directories]({{ page.root }}/02-filedir/)).\n" -" This can be done in the [Pipes and Filters]({{ page.root }}/04-pipefilter/) section by showing that you\n" +" (covered briefly in [Navigating Files and Directories]({{ page." +"root }}/02-filedir/)).\n" +" This can be done in the [Pipes and Filters]({{ page.root }}/04-" +"pipefilter/) section by showing that you\n" " can redirect standard output to a file without the .txt extension\n" -" (e.g., lengths), and that the resulting file is still a perfectly usable text file.\n" +" (e.g., lengths), and that the resulting file is still a perfectly usable " +"text file.\n" " Make the point that if double-clicked in the GUI, the computer will\n" " probably ask you what you want to do." msgstr "" " extensions are essentially there to help computers (and human\n" " readers) understand file content and are not a requirement of files\n" -" (covered briefly in [Navigating Files and Directories]({{ page.root }}/02-filedir/)).\n" -" This can be done in the [Pipes and Filters]({{ page.root }}/04-pipefilter/) section by showing that you\n" +" (covered briefly in [Navigating Files and Directories]({{ page." +"root }}/02-filedir/)).\n" +" This can be done in the [Pipes and Filters]({{ page.root }}/04-" +"pipefilter/) section by showing that you\n" " can redirect standard output to a file without the .txt extension\n" -" (e.g., lengths), and that the resulting file is still a perfectly usable text file.\n" +" (e.g., lengths), and that the resulting file is still a perfectly usable " +"text file.\n" " Make the point that if double-clicked in the GUI, the computer will\n" " probably ask you what you want to do." # unordered list -#: shell-novice/_extras/guide.md:181 -msgid "* We have to leave out many important things because of time constraints," -msgstr "* We have to leave out many important things because of time constraints," +#: shell-novice/_extras/guide.md:187 +msgid "" +"* We have to leave out many important things because of time constraints," +msgstr "" +"* We have to leave out many important things because of time constraints," -#: shell-novice/_extras/guide.md:182 +#: shell-novice/_extras/guide.md:188 msgid "" " including file permissions, job control, and SSH.\n" " If learners already understand the basic material,\n" @@ -11868,11 +12898,11 @@ msgstr "" " These limitations also have follow-on consequences:" # unordered list -#: shell-novice/_extras/guide.md:187 +#: shell-novice/_extras/guide.md:193 msgid "* It's hard to discuss `#!` (shebang) without first discussing" msgstr "* It's hard to discuss `#!` (shebang) without first discussing" -#: shell-novice/_extras/guide.md:188 +#: shell-novice/_extras/guide.md:194 msgid "" " permissions, which we don't do. `#!` is also [pretty\n" " complicated][shebang], so even if we did discuss permissions, we\n" @@ -11883,11 +12913,11 @@ msgstr "" " probably still wouldn't want to discuss `#!`." # unordered list -#: shell-novice/_extras/guide.md:192 +#: shell-novice/_extras/guide.md:198 msgid "* Installing Bash and a reasonable set of Unix commands on Windows" msgstr "* Installing Bash and a reasonable set of Unix commands on Windows" -#: shell-novice/_extras/guide.md:193 +#: shell-novice/_extras/guide.md:199 msgid "" " always involves some fiddling and frustration.\n" " Please see the latest set of installation guidelines for advice,\n" @@ -11898,30 +12928,32 @@ msgstr "" " and try it out yourself *before* teaching a class." # unordered list -#: shell-novice/_extras/guide.md:197 +#: shell-novice/_extras/guide.md:203 msgid "* On Windows machines" msgstr "* On Windows machines" -#: shell-novice/_extras/guide.md:198 +#: shell-novice/_extras/guide.md:204 msgid "" " if `nano` hasn't been properly installed with the\n" " [Software Carpentry Windows Installer][windows-installer]\n" " it is possible to use `notepad` as an alternative. There will be a GUI\n" " interface and line endings are treated differently, but otherwise, for\n" -" the purposes of this lesson, `notepad` and `nano` can be used almost interchangeably." +" the purposes of this lesson, `notepad` and `nano` can be used almost " +"interchangeably." msgstr "" " if `nano` hasn't been properly installed with the\n" " [Software Carpentry Windows Installer][windows-installer]\n" " it is possible to use `notepad` as an alternative. There will be a GUI\n" " interface and line endings are treated differently, but otherwise, for\n" -" the purposes of this lesson, `notepad` and `nano` can be used almost interchangeably." +" the purposes of this lesson, `notepad` and `nano` can be used almost " +"interchangeably." # unordered list -#: shell-novice/_extras/guide.md:204 +#: shell-novice/_extras/guide.md:210 msgid "* On Windows, it appears that:" msgstr "* On Windows, it appears that:" -#: shell-novice/_extras/guide.md:206 +#: shell-novice/_extras/guide.md:212 msgid "" " ~~~\n" " $ cd\n" @@ -11933,7 +12965,7 @@ msgstr "" " $ cd Desktop\n" " ~~~" -#: shell-novice/_extras/guide.md:212 +#: shell-novice/_extras/guide.md:218 msgid "" " will always put someone on their desktop.\n" " Have them create the example directory for the shell exercises there\n" @@ -11946,28 +12978,36 @@ msgstr "" " and watch it evolve." # unordered list -#: shell-novice/_extras/guide.md:217 -msgid "* Stay within POSIX-compliant commands, as all the teaching materials do." -msgstr "* Stay within POSIX-compliant commands, as all the teaching materials do." +#: shell-novice/_extras/guide.md:223 +msgid "" +"* Stay within POSIX-compliant commands, as all the teaching materials do." +msgstr "" +"* Stay within POSIX-compliant commands, as all the teaching materials do." -#: shell-novice/_extras/guide.md:218 +#: shell-novice/_extras/guide.md:224 msgid "" -" Your particular shell may have extensions beyond POSIX that are not available\n" -" on other machines, especially the default OSX bash and Windows bash emulators.\n" -" For example, POSIX `ls` does not have an `--ignore=` or `-I` option, and POSIX\n" +" Your particular shell may have extensions beyond POSIX that are not " +"available\n" +" on other machines, especially the default OSX bash and Windows bash " +"emulators.\n" +" For example, POSIX `ls` does not have an `--ignore=` or `-I` option, and " +"POSIX\n" " `head` takes `-n 10` or `-10`, but not the long form of `--lines=10`." msgstr "" -" Your particular shell may have extensions beyond POSIX that are not available\n" -" on other machines, especially the default OSX bash and Windows bash emulators.\n" -" For example, POSIX `ls` does not have an `--ignore=` or `-I` option, and POSIX\n" +" Your particular shell may have extensions beyond POSIX that are not " +"available\n" +" on other machines, especially the default OSX bash and Windows bash " +"emulators.\n" +" For example, POSIX `ls` does not have an `--ignore=` or `-I` option, and " +"POSIX\n" " `head` takes `-n 10` or `-10`, but not the long form of `--lines=10`." # header -#: shell-novice/_extras/guide.md:223 +#: shell-novice/_extras/guide.md:229 msgid "## Windows" msgstr "## Windows" -#: shell-novice/_extras/guide.md:225 +#: shell-novice/_extras/guide.md:231 msgid "" "Installing Bash and a reasonable set of Unix commands on Windows\n" "always involves some fiddling and frustration.\n" @@ -11982,62 +13022,80 @@ msgstr "" "Options we have explored include:" # ordered list -#: shell-novice/_extras/guide.md:231 +#: shell-novice/_extras/guide.md:237 msgid "1. [msysGit](http://msysgit.github.io/) (also called \"Git Bash\")," msgstr "1. [msysGit](http://msysgit.github.io/) (also called \"Git Bash\")," # ordered list -#: shell-novice/_extras/guide.md:232 +#: shell-novice/_extras/guide.md:238 msgid "2. [Cygwin](http://www.cygwin.com/)," msgstr "2. [Cygwin](http://www.cygwin.com/)," # ordered list -#: shell-novice/_extras/guide.md:233 +#: shell-novice/_extras/guide.md:239 msgid "3. using a desktop virtual machine, and" msgstr "3. using a desktop virtual machine, and" # ordered list -#: shell-novice/_extras/guide.md:234 -msgid "4. having learners connect to a remote Unix machine (typically a VM in the cloud)." -msgstr "4. having learners connect to a remote Unix machine (typically a VM in the cloud)." +#: shell-novice/_extras/guide.md:240 +msgid "" +"4. having learners connect to a remote Unix machine (typically a VM in the " +"cloud)." +msgstr "" +"4. having learners connect to a remote Unix machine (typically a VM in the " +"cloud)." -#: shell-novice/_extras/guide.md:236 +#: shell-novice/_extras/guide.md:242 msgid "" "Cygwin was the preferred option until mid-2013,\n" "but once we started teaching Git,\n" "msysGit proved to work better.\n" -"Desktop virtual machines and cloud-based VMs work well for technically sophisticated learners,\n" +"Desktop virtual machines and cloud-based VMs work well for technically " +"sophisticated learners,\n" "and can reduce installation and configuration at the start of the workshop,\n" "but:" msgstr "" "Cygwin was the preferred option until mid-2013,\n" "but once we started teaching Git,\n" "msysGit proved to work better.\n" -"Desktop virtual machines and cloud-based VMs work well for technically sophisticated learners,\n" +"Desktop virtual machines and cloud-based VMs work well for technically " +"sophisticated learners,\n" "and can reduce installation and configuration at the start of the workshop,\n" "but:" # ordered list -#: shell-novice/_extras/guide.md:243 +#: shell-novice/_extras/guide.md:249 msgid "1. they don't work well on underpowered machines," msgstr "1. they don't work well on underpowered machines," # ordered list -#: shell-novice/_extras/guide.md:244 -msgid "2. they're confusing for novices (because simple things like copy and paste work differently)," -msgstr "2. they're confusing for novices (because simple things like copy and paste work differently)," +#: shell-novice/_extras/guide.md:250 +msgid "" +"2. they're confusing for novices (because simple things like copy and paste " +"work differently)," +msgstr "" +"2. they're confusing for novices (because simple things like copy and paste " +"work differently)," # ordered list -#: shell-novice/_extras/guide.md:245 -msgid "3. learners leave the workshop without a working environment on their operating system of choice, and" -msgstr "3. learners leave the workshop without a working environment on their operating system of choice, and" +#: shell-novice/_extras/guide.md:251 +msgid "" +"3. learners leave the workshop without a working environment on their " +"operating system of choice, and" +msgstr "" +"3. learners leave the workshop without a working environment on their " +"operating system of choice, and" # ordered list -#: shell-novice/_extras/guide.md:246 -msgid "4. learners may show up without having downloaded the VM or the wireless will go down (or become congested) during the lesson." -msgstr "4. learners may show up without having downloaded the VM or the wireless will go down (or become congested) during the lesson." +#: shell-novice/_extras/guide.md:252 +msgid "" +"4. learners may show up without having downloaded the VM or the wireless " +"will go down (or become congested) during the lesson." +msgstr "" +"4. learners may show up without having downloaded the VM or the wireless " +"will go down (or become congested) during the lesson." -#: shell-novice/_extras/guide.md:248 +#: shell-novice/_extras/guide.md:254 msgid "" "Whatever you use,\n" "please *test it yourself* on a Windows machine *before* your workshop:\n" @@ -12051,7 +13109,7 @@ msgstr "" "And please also make use of our\n" "[Software Carpentry Windows Installer][windows-installer]." -#: shell-novice/_extras/guide.md:254 +#: shell-novice/_extras/guide.md:260 msgid "" "[shebang]: http://www.in-ulm.de/~mascheck/various/shebang/\n" "[windows-installer]: {{ site.swc_github }}/windows-installer" @@ -12066,8 +13124,10 @@ msgid "" "[concept-maps]: http://carpentries.github.io/instructor-training/05-memory/\n" "[email]: mailto:lessons@software-carpentry.org\n" "[contrib-covenant]: http://contributor-covenant.org/\n" -"[contributing]: {{ site.github.repository_url }}/blob/gh-pages/CONTRIBUTING.md\n" -"[cran-checkpoint]: https://cran.r-project.org/web/packages/checkpoint/index.html\n" +"[contributing]: {{ site.github.repository_url }}/blob/gh-pages/CONTRIBUTING." +"md\n" +"[cran-checkpoint]: https://cran.r-project.org/web/packages/checkpoint/index." +"html\n" "[cran-knitr]: https://cran.r-project.org/web/packages/knitr/index.html\n" "[cran-stringr]: https://cran.r-project.org/web/packages/stringr/index.html\n" "[github-importer]: https://import.github.com/\n" @@ -12102,8 +13162,10 @@ msgstr "" "[concept-maps]: http://carpentries.github.io/instructor-training/05-memory/\n" "[email]: mailto:lessons@software-carpentry.org\n" "[contrib-covenant]: http://contributor-covenant.org/\n" -"[contributing]: {{ site.github.repository_url }}/blob/gh-pages/CONTRIBUTING.md\n" -"[cran-checkpoint]: https://cran.r-project.org/web/packages/checkpoint/index.html\n" +"[contributing]: {{ site.github.repository_url }}/blob/gh-pages/CONTRIBUTING." +"md\n" +"[cran-checkpoint]: https://cran.r-project.org/web/packages/checkpoint/index." +"html\n" "[cran-knitr]: https://cran.r-project.org/web/packages/knitr/index.html\n" "[cran-stringr]: https://cran.r-project.org/web/packages/stringr/index.html\n" "[github-importer]: https://import.github.com/\n" @@ -12156,15 +13218,18 @@ msgid "" " \"{{ episode.url}}\"{% unless forloop.last %},{% endunless %}\n" " {% endfor %}\n" " ];\n" -" var xmlHttp = []; /* Required since we are going to query every episode. */\n" +" var xmlHttp = []; /* Required since we are going to query every " +"episode. */\n" " for (i=0; i < lesson_episodes.length; i++) {\n" " xmlHttp[i] = new XMLHttpRequest();\n" -" xmlHttp[i].episode = lesson_episodes[i]; /* To enable use this later. */\n" +" xmlHttp[i].episode = lesson_episodes[i]; /* To enable use this later. " +"*/\n" " xmlHttp[i].onreadystatechange = function() {\n" " if (this.readyState == 4 && this.status == 200) {\n" " var article_here = document.getElementById(this.episode);\n" " var parser = new DOMParser();\n" -" var htmlDoc = parser.parseFromString(this.responseText,\"text/html\");\n" +" var htmlDoc = parser.parseFromString(this.responseText,\"text/html" +"\");\n" " var htmlDocArticle = htmlDoc.getElementsByTagName(\"article\")[0];\n" " article_here.innerHTML = htmlDocArticle.innerHTML;\n" " }\n" @@ -12183,15 +13248,18 @@ msgstr "" " \"{{ episode.url}}\"{% unless forloop.last %},{% endunless %}\n" " {% endfor %}\n" " ];\n" -" var xmlHttp = []; /* Required since we are going to query every episode. */\n" +" var xmlHttp = []; /* Required since we are going to query every " +"episode. */\n" " for (i=0; i < lesson_episodes.length; i++) {\n" " xmlHttp[i] = new XMLHttpRequest();\n" -" xmlHttp[i].episode = lesson_episodes[i]; /* To enable use this later. */\n" +" xmlHttp[i].episode = lesson_episodes[i]; /* To enable use this later. " +"*/\n" " xmlHttp[i].onreadystatechange = function() {\n" " if (this.readyState == 4 && this.status == 200) {\n" " var article_here = document.getElementById(this.episode);\n" " var parser = new DOMParser();\n" -" var htmlDoc = parser.parseFromString(this.responseText,\"text/html\");\n" +" var htmlDoc = parser.parseFromString(this.responseText,\"text/html" +"\");\n" " var htmlDocArticle = htmlDoc.getElementsByTagName(\"article\")[0];\n" " article_here.innerHTML = htmlDocArticle.innerHTML;\n" " }\n" @@ -12218,24 +13286,33 @@ msgstr "" #: shell-novice/index.md:6 msgid "" -"The Unix shell has been around longer than most of its users have been alive.\n" +"The Unix shell has been around longer than most of its users have been " +"alive.\n" "It has survived so long because it's a power tool\n" "that allows people to do complex things with just a few keystrokes.\n" "More importantly,\n" "it helps them combine existing programs in new ways\n" "and automate repetitive tasks\n" "so they aren't typing the same things over and over again.\n" -"Use of the shell is fundamental to using a wide range of other powerful tools \n" -"and computing resources (including \"high-performance computing\" supercomputers).\n" -"These lessons will start you on a path towards using these resources effectively." +"Use of the shell is fundamental to using a wide range of other powerful " +"tools \n" +"and computing resources (including \"high-performance computing\" " +"supercomputers).\n" +"These lessons will start you on a path towards using these resources " +"effectively." msgstr "" "Unixシェルは、ほとんどのユーザーが生きていたよりもずっと長くなっています。 \n" -"それは人々がちょうど少数のキーストロークで複雑なことをすることを可能にする電動工具であるので、\n" -"ずっと生き延びてきました。 さらに重要なことは、既存のプログラムを新しい方法で組み合わせ、\n" -"繰り返しの作業を自動化して、同じことを何度も繰り返し入力しないようにすることです。 \n" +"それは人々がちょうど少数のキーストロークで複雑なことをすることを可能にする電" +"動工具であるので、\n" +"ずっと生き延びてきました。 さらに重要なことは、既存のプログラムを新しい方法で" +"組み合わせ、\n" +"繰り返しの作業を自動化して、同じことを何度も繰り返し入力しないようにすること" +"です。 \n" "シェルの使用は、他の強力なツールやコンピューティングリソース\n" -"(「高性能コンピューティング」スーパーコンピュータを含む)を幅広く使用する上で基本的です。 \n" -"これらのレッスンは、これらのリソースを効果的に使用するための道を歩み始めます。" +"(「高性能コンピューティング」スーパーコンピュータを含む)を幅広く使用する上" +"で基本的です。 \n" +"これらのレッスンは、これらのリソースを効果的に使用するための道を歩み始めま" +"す。" # blockquote, which can be cascaded #: shell-novice/index.md:17 @@ -12252,10 +13329,12 @@ msgid "" ">\n" "> If you're already comfortable manipulating files and directories,\n" "> searching for files with `grep` and `find`, and writing simple loops\n" -"> and scripts, you probably want to explore the next lesson: [shell-extras](swcarpentry.github.io/shell-extras)." +"> and scripts, you probably want to explore the next lesson: [shell-extras]" +"(swcarpentry.github.io/shell-extras)." msgstr "" "> このレッスンでは、ファイルシステムとシェルの基本について説明します。 \n" -"> コンピュータにファイルを保存して、「ファイル」という単語と「ディレクトリ」\n" +"> コンピュータにファイルを保存して、「ファイル」という単語と「ディレクト" +"リ」\n" "> または「フォルダ」(同じことの2つの一般的な単語)を認識している場合は、\n" "> このレッスンの準備が整いました。\n" "> \n" @@ -12271,9 +13350,12 @@ msgstr "{: .prereq}" # Front Matter #: shell-novice/reference.md:1 +#, fuzzy msgid "" "---\n" "layout: reference\n" +"Title: \"Reference\"\n" +"root: ..\n" "permalink: /reference/\n" "---" msgstr "" @@ -12283,11 +13365,11 @@ msgstr "" "---" # header -#: shell-novice/reference.md:6 +#: shell-novice/reference.md:8 msgid "## Summary of Basic Commands" msgstr "## 基本コマンドのまとめ" -#: shell-novice/reference.md:8 +#: shell-novice/reference.md:10 msgid "" "| Action | Files | Folders |\n" "|-------------|-------|--------------|\n" @@ -12310,11 +13392,11 @@ msgstr "" "| 削除 | rm | rmdir, rm -r |" # header -#: shell-novice/reference.md:18 +#: shell-novice/reference.md:20 msgid "## Filesystem hierarchy" msgstr "## Filesystem hierarchy" -#: shell-novice/reference.md:20 +#: shell-novice/reference.md:22 msgid "" "The following is an overview of a standard Unix filesystem.\n" "The exact hierarchy depends on the platform,\n" @@ -12324,23 +13406,25 @@ msgstr "" "The exact hierarchy depends on the platform,\n" "so you may not see exactly the same files/directories on your computer:" -#: shell-novice/reference.md:24 +#: shell-novice/reference.md:26 msgid "![Linux filesystem hierarchy](../fig/standard-filesystem-hierarchy.svg)" -msgstr "![Linux filesystem hierarchy](../fig/standard-filesystem-hierarchy.svg)" +msgstr "" +"![Linux filesystem hierarchy](../fig/standard-filesystem-hierarchy.svg)" # header -#: shell-novice/reference.md:26 +#: shell-novice/reference.md:28 msgid "## Glossary" msgstr "## Glossary" -#: shell-novice/reference.md:28 +#: shell-novice/reference.md:30 msgid "" "{:auto_ids}\n" "absolute path\n" ": A [path](#path) that refers to a particular location in a file system.\n" " Absolute paths are usually written with respect to the file system's\n" " [root directory](#root-directory),\n" -" and begin with either \"/\" (on Unix) or \"\\\\\" (on Microsoft Windows).\n" +" and begin with either \"/\" (on Unix) or \"\\\\\" (on Microsoft " +"Windows).\n" " See also: [relative path](#relative-path)." msgstr "" "{:auto_ids}\n" @@ -12348,20 +13432,23 @@ msgstr "" ": A [path](#path) that refers to a particular location in a file system.\n" " Absolute paths are usually written with respect to the file system's\n" " [root directory](#root-directory),\n" -" and begin with either \"/\" (on Unix) or \"\\\\\" (on Microsoft Windows).\n" +" and begin with either \"/\" (on Unix) or \"\\\\\" (on Microsoft " +"Windows).\n" " See also: [relative path](#relative-path)." -#: shell-novice/reference.md:36 +#: shell-novice/reference.md:38 msgid "" "argument\n" ": A value given to a function or program when it runs.\n" -" The term is often used interchangeably (and inconsistently) with [parameter](#parameter)." +" The term is often used interchangeably (and inconsistently) with " +"[parameter](#parameter)." msgstr "" "argument\n" ": A value given to a function or program when it runs.\n" -" The term is often used interchangeably (and inconsistently) with [parameter](#parameter)." +" The term is often used interchangeably (and inconsistently) with " +"[parameter](#parameter)." -#: shell-novice/reference.md:40 +#: shell-novice/reference.md:42 msgid "" "command shell\n" ": See [shell](#shell)" @@ -12369,7 +13456,7 @@ msgstr "" "command shell\n" ": See [shell](#shell)" -#: shell-novice/reference.md:43 +#: shell-novice/reference.md:45 msgid "" "command-line interface\n" ": A user interface based on typing commands,\n" @@ -12381,73 +13468,93 @@ msgstr "" " usually at a [REPL](#read-evaluate-print-loop).\n" " See also: [graphical user interface](#graphical-user-interface)." -#: shell-novice/reference.md:48 +#: shell-novice/reference.md:50 msgid "" "comment\n" -": A remark in a program that is intended to help human readers understand what is going on,\n" +": A remark in a program that is intended to help human readers understand " +"what is going on,\n" " but is ignored by the computer.\n" -" Comments in Python, R, and the Unix shell start with a `#` character and run to the end of the line;\n" +" Comments in Python, R, and the Unix shell start with a `#` character and " +"run to the end of the line;\n" " comments in SQL start with `--`,\n" " and other languages have other conventions." msgstr "" "comment\n" -": A remark in a program that is intended to help human readers understand what is going on,\n" +": A remark in a program that is intended to help human readers understand " +"what is going on,\n" " but is ignored by the computer.\n" -" Comments in Python, R, and the Unix shell start with a `#` character and run to the end of the line;\n" +" Comments in Python, R, and the Unix shell start with a `#` character and " +"run to the end of the line;\n" " comments in SQL start with `--`,\n" " and other languages have other conventions." -#: shell-novice/reference.md:56 +#: shell-novice/reference.md:58 msgid "" "current working directory\n" -": The directory that [relative paths](#relative-path) are calculated from;\n" +": The directory that [relative paths](#relative-path) are calculated " +"from;\n" " equivalently,\n" " the place where files referenced by name only are searched for.\n" " Every [process](#process) has a current working directory.\n" -" The current working directory is usually referred to using the shorthand notation `.` (pronounced \"dot\")." +" The current working directory is usually referred to using the shorthand " +"notation `.` (pronounced \"dot\")." msgstr "" "current working directory\n" -": The directory that [relative paths](#relative-path) are calculated from;\n" +": The directory that [relative paths](#relative-path) are calculated " +"from;\n" " equivalently,\n" " the place where files referenced by name only are searched for.\n" " Every [process](#process) has a current working directory.\n" -" The current working directory is usually referred to using the shorthand notation `.` (pronounced \"dot\")." +" The current working directory is usually referred to using the shorthand " +"notation `.` (pronounced \"dot\")." -#: shell-novice/reference.md:63 +#: shell-novice/reference.md:65 msgid "" "file system\n" -": A set of files, directories, and I/O devices (such as keyboards and screens).\n" +": A set of files, directories, and I/O devices (such as keyboards and " +"screens).\n" " A file system may be spread across many physical devices,\n" " or many file systems may be stored on a single physical device;\n" " the [operating system](#operating-system) manages access." msgstr "" "file system\n" -": A set of files, directories, and I/O devices (such as keyboards and screens).\n" +": A set of files, directories, and I/O devices (such as keyboards and " +"screens).\n" " A file system may be spread across many physical devices,\n" " or many file systems may be stored on a single physical device;\n" " the [operating system](#operating-system) manages access." -#: shell-novice/reference.md:69 +#: shell-novice/reference.md:71 msgid "" "filename extension\n" -": The portion of a file's name that comes after the final \".\" character.\n" +": The portion of a file's name that comes after the final \".\" " +"character.\n" " By convention this identifies the file's type:\n" -" `.txt` means \"text file\", `.png` means \"Portable Network Graphics file\",\n" -" and so on. These conventions are not enforced by most operating systems:\n" -" it is perfectly possible (but confusing!) to name an MP3 sound file `homepage.html`.\n" -" Since many applications use filename extensions to identify the [MIME type](#mime-type) of the file,\n" +" `.txt` means \"text file\", `.png` means \"Portable Network Graphics file" +"\",\n" +" and so on. These conventions are not enforced by most operating " +"systems:\n" +" it is perfectly possible (but confusing!) to name an MP3 sound file " +"`homepage.html`.\n" +" Since many applications use filename extensions to identify the [MIME " +"type](#mime-type) of the file,\n" " misnaming files may cause those applications to fail." msgstr "" "filename extension\n" -": The portion of a file's name that comes after the final \".\" character.\n" +": The portion of a file's name that comes after the final \".\" " +"character.\n" " By convention this identifies the file's type:\n" -" `.txt` means \"text file\", `.png` means \"Portable Network Graphics file\",\n" -" and so on. These conventions are not enforced by most operating systems:\n" -" it is perfectly possible (but confusing!) to name an MP3 sound file `homepage.html`.\n" -" Since many applications use filename extensions to identify the [MIME type](#mime-type) of the file,\n" +" `.txt` means \"text file\", `.png` means \"Portable Network Graphics file" +"\",\n" +" and so on. These conventions are not enforced by most operating " +"systems:\n" +" it is perfectly possible (but confusing!) to name an MP3 sound file " +"`homepage.html`.\n" +" Since many applications use filename extensions to identify the [MIME " +"type](#mime-type) of the file,\n" " misnaming files may cause those applications to fail." -#: shell-novice/reference.md:78 +#: shell-novice/reference.md:80 msgid "" "filter\n" ": A program that transforms a stream of data.\n" @@ -12461,95 +13568,113 @@ msgstr "" " they read data from [standard input](#standard-input),\n" " process it, and write the result to [standard output](#standard-output)." -#: shell-novice/reference.md:84 +#: shell-novice/reference.md:86 msgid "" "flag\n" ": A terse way to specify an option or setting to a command-line program.\n" " By convention Unix applications use a dash followed by a single letter,\n" " such as `-v`, or two dashes followed by a word, such as `--verbose`,\n" " while DOS applications use a slash, such as `/V`.\n" -" Depending on the application, a flag may be followed by a single argument, as in `-o /tmp/output.txt`." +" Depending on the application, a flag may be followed by a single " +"argument, as in `-o /tmp/output.txt`." msgstr "" "flag\n" ": A terse way to specify an option or setting to a command-line program.\n" " By convention Unix applications use a dash followed by a single letter,\n" " such as `-v`, or two dashes followed by a word, such as `--verbose`,\n" " while DOS applications use a slash, such as `/V`.\n" -" Depending on the application, a flag may be followed by a single argument, as in `-o /tmp/output.txt`." +" Depending on the application, a flag may be followed by a single " +"argument, as in `-o /tmp/output.txt`." -#: shell-novice/reference.md:91 +#: shell-novice/reference.md:93 msgid "" "for loop\n" -": A loop that is executed once for each value in some kind of set, list, or range.\n" +": A loop that is executed once for each value in some kind of set, list, " +"or range.\n" " See also: [while loop](#while-loop)." msgstr "" "for loop\n" -": A loop that is executed once for each value in some kind of set, list, or range.\n" +": A loop that is executed once for each value in some kind of set, list, " +"or range.\n" " See also: [while loop](#while-loop)." -#: shell-novice/reference.md:95 +#: shell-novice/reference.md:97 msgid "" "graphical user interface\n" -": A user interface based on selecting items and actions from a graphical display,\n" +": A user interface based on selecting items and actions from a graphical " +"display,\n" " usually controlled by using a mouse.\n" " See also: [command-line interface](#command-line-interface)." msgstr "" "graphical user interface\n" -": A user interface based on selecting items and actions from a graphical display,\n" +": A user interface based on selecting items and actions from a graphical " +"display,\n" " usually controlled by using a mouse.\n" " See also: [command-line interface](#command-line-interface)." -#: shell-novice/reference.md:100 +#: shell-novice/reference.md:102 msgid "" "home directory\n" ": The default directory associated with an account on a computer system.\n" -" By convention, all of a user's files are stored in or below her home directory." +" By convention, all of a user's files are stored in or below her home " +"directory." msgstr "" "home directory\n" ": The default directory associated with an account on a computer system.\n" -" By convention, all of a user's files are stored in or below her home directory." +" By convention, all of a user's files are stored in or below her home " +"directory." -#: shell-novice/reference.md:104 +#: shell-novice/reference.md:106 msgid "" "loop\n" -": A set of instructions to be executed multiple times. Consists of a [loop body](#loop-body) and (usually) a\n" -" condition for exiting the loop. See also [for loop](#for-loop) and [while loop](#while-loop)." +": A set of instructions to be executed multiple times. Consists of a [loop " +"body](#loop-body) and (usually) a\n" +" condition for exiting the loop. See also [for loop](#for-loop) and " +"[while loop](#while-loop)." msgstr "" "loop\n" -": A set of instructions to be executed multiple times. Consists of a [loop body](#loop-body) and (usually) a\n" -" condition for exiting the loop. See also [for loop](#for-loop) and [while loop](#while-loop)." +": A set of instructions to be executed multiple times. Consists of a [loop " +"body](#loop-body) and (usually) a\n" +" condition for exiting the loop. See also [for loop](#for-loop) and " +"[while loop](#while-loop)." -#: shell-novice/reference.md:108 +#: shell-novice/reference.md:110 msgid "" "loop body\n" -": The set of statements or commands that are repeated inside a [for loop](#for-loop)\n" +": The set of statements or commands that are repeated inside a [for loop]" +"(#for-loop)\n" " or [while loop](#while-loop)." msgstr "" "loop body\n" -": The set of statements or commands that are repeated inside a [for loop](#for-loop)\n" +": The set of statements or commands that are repeated inside a [for loop]" +"(#for-loop)\n" " or [while loop](#while-loop)." -#: shell-novice/reference.md:112 +#: shell-novice/reference.md:114 msgid "" "MIME type\n" -": MIME (Multi-Purpose Internet Mail Extensions) types describe different file types for exchange on the Internet,\n" +": MIME (Multi-Purpose Internet Mail Extensions) types describe different " +"file types for exchange on the Internet,\n" " for example images, audio, and documents." msgstr "" "MIME type\n" -": MIME (Multi-Purpose Internet Mail Extensions) types describe different file types for exchange on the Internet,\n" +": MIME (Multi-Purpose Internet Mail Extensions) types describe different " +"file types for exchange on the Internet,\n" " for example images, audio, and documents." -#: shell-novice/reference.md:116 +#: shell-novice/reference.md:118 msgid "" "operating system\n" -": Software that manages interactions between users, hardware, and software [processes](#process). Common\n" +": Software that manages interactions between users, hardware, and software " +"[processes](#process). Common\n" " examples are Linux, OS X, and Windows." msgstr "" "operating system\n" -": Software that manages interactions between users, hardware, and software [processes](#process). Common\n" +": Software that manages interactions between users, hardware, and software " +"[processes](#process). Common\n" " examples are Linux, OS X, and Windows." -#: shell-novice/reference.md:120 +#: shell-novice/reference.md:122 msgid "" "orthogonal\n" ": To have meanings or behaviors that are independent of each other.\n" @@ -12561,111 +13686,135 @@ msgstr "" " If a set of concepts or tools are orthogonal,\n" " they can be combined in any way." -#: shell-novice/reference.md:125 +#: shell-novice/reference.md:127 msgid "" "parameter\n" -": A variable named in a function's declaration that is used to hold a value passed into the call.\n" -" The term is often used interchangeably (and inconsistently) with [argument](#argument)." +": A variable named in a function's declaration that is used to hold a " +"value passed into the call.\n" +" The term is often used interchangeably (and inconsistently) with " +"[argument](#argument)." msgstr "" "parameter\n" -": A variable named in a function's declaration that is used to hold a value passed into the call.\n" -" The term is often used interchangeably (and inconsistently) with [argument](#argument)." +": A variable named in a function's declaration that is used to hold a " +"value passed into the call.\n" +" The term is often used interchangeably (and inconsistently) with " +"[argument](#argument)." -#: shell-novice/reference.md:129 +#: shell-novice/reference.md:131 msgid "" "parent directory\n" ": The directory that \"contains\" the one in question.\n" -" Every directory in a file system except the [root directory](#root-directory) has a parent.\n" -" A directory's parent is usually referred to using the shorthand notation `..` (pronounced \"dot dot\")." +" Every directory in a file system except the [root directory](#root-" +"directory) has a parent.\n" +" A directory's parent is usually referred to using the shorthand notation " +"`..` (pronounced \"dot dot\")." msgstr "" "parent directory\n" ": The directory that \"contains\" the one in question.\n" -" Every directory in a file system except the [root directory](#root-directory) has a parent.\n" -" A directory's parent is usually referred to using the shorthand notation `..` (pronounced \"dot dot\")." +" Every directory in a file system except the [root directory](#root-" +"directory) has a parent.\n" +" A directory's parent is usually referred to using the shorthand notation " +"`..` (pronounced \"dot dot\")." -#: shell-novice/reference.md:134 +#: shell-novice/reference.md:136 msgid "" "path\n" -": A description that specifies the location of a file or directory within a [file system](#file-system).\n" -" See also: [absolute path](#absolute-path), [relative path](#relative-path)." +": A description that specifies the location of a file or directory within " +"a [file system](#file-system).\n" +" See also: [absolute path](#absolute-path), [relative path](#relative-" +"path)." msgstr "" "path\n" -": A description that specifies the location of a file or directory within a [file system](#file-system).\n" -" See also: [absolute path](#absolute-path), [relative path](#relative-path)." +": A description that specifies the location of a file or directory within " +"a [file system](#file-system).\n" +" See also: [absolute path](#absolute-path), [relative path](#relative-" +"path)." -#: shell-novice/reference.md:139 +#: shell-novice/reference.md:141 msgid "" "pipe\n" ": A connection from the output of one program to the input of another.\n" -" When two or more programs are connected in this way, they are called a \"pipeline\"." +" When two or more programs are connected in this way, they are called a " +"\"pipeline\"." msgstr "" "pipe\n" ": A connection from the output of one program to the input of another.\n" -" When two or more programs are connected in this way, they are called a \"pipeline\"." +" When two or more programs are connected in this way, they are called a " +"\"pipeline\"." -#: shell-novice/reference.md:143 +#: shell-novice/reference.md:145 msgid "" "process\n" ": A running instance of a program, containing code, variable values,\n" " open files and network connections, and so on.\n" -" Processes are the \"actors\" that the [operating system](#operating-system) manages;\n" +" Processes are the \"actors\" that the [operating system](#operating-" +"system) manages;\n" " it typically runs each process for a few milliseconds at a time\n" " to give the impression that they are executing simultaneously." msgstr "" "process\n" ": A running instance of a program, containing code, variable values,\n" " open files and network connections, and so on.\n" -" Processes are the \"actors\" that the [operating system](#operating-system) manages;\n" +" Processes are the \"actors\" that the [operating system](#operating-" +"system) manages;\n" " it typically runs each process for a few milliseconds at a time\n" " to give the impression that they are executing simultaneously." -#: shell-novice/reference.md:151 +#: shell-novice/reference.md:153 msgid "" "prompt\n" -": A character or characters display by a [REPL](#read-evaluate-print-loop) to show that\n" +": A character or characters display by a [REPL](#read-evaluate-print-loop) " +"to show that\n" " it is waiting for its next command." msgstr "" "prompt\n" -": A character or characters display by a [REPL](#read-evaluate-print-loop) to show that\n" +": A character or characters display by a [REPL](#read-evaluate-print-loop) " +"to show that\n" " it is waiting for its next command." -#: shell-novice/reference.md:155 +#: shell-novice/reference.md:157 msgid "" "quoting\n" ": (in the shell):\n" -" Using quotation marks of various kinds to prevent the shell from interpreting special characters.\n" +" Using quotation marks of various kinds to prevent the shell from " +"interpreting special characters.\n" " For example, to pass the string `*.txt` to a program,\n" " it is usually necessary to write it as `'*.txt'` (with single quotes)\n" " so that the shell will not try to expand the `*` wildcard." msgstr "" "quoting\n" ": (in the shell):\n" -" Using quotation marks of various kinds to prevent the shell from interpreting special characters.\n" +" Using quotation marks of various kinds to prevent the shell from " +"interpreting special characters.\n" " For example, to pass the string `*.txt` to a program,\n" " it is usually necessary to write it as `'*.txt'` (with single quotes)\n" " so that the shell will not try to expand the `*` wildcard." -#: shell-novice/reference.md:162 +#: shell-novice/reference.md:164 msgid "" "read-evaluate-print loop\n" -": (REPL): A [command-line interface](#command-line-interface) that reads a command from the user,\n" +": (REPL): A [command-line interface](#command-line-interface) that reads a " +"command from the user,\n" " executes it, prints the result, and waits for another command." msgstr "" "read-evaluate-print loop\n" -": (REPL): A [command-line interface](#command-line-interface) that reads a command from the user,\n" +": (REPL): A [command-line interface](#command-line-interface) that reads a " +"command from the user,\n" " executes it, prints the result, and waits for another command." -#: shell-novice/reference.md:166 +#: shell-novice/reference.md:168 msgid "" "redirect\n" -": To send a command's output to a file rather than to the screen or another command,\n" +": To send a command's output to a file rather than to the screen or " +"another command,\n" " or equivalently to read a command's input from a file." msgstr "" "redirect\n" -": To send a command's output to a file rather than to the screen or another command,\n" +": To send a command's output to a file rather than to the screen or " +"another command,\n" " or equivalently to read a command's input from a file." -#: shell-novice/reference.md:170 +#: shell-novice/reference.md:172 msgid "" "regular expression\n" ": A pattern that specifies a set of character strings.\n" @@ -12675,43 +13824,51 @@ msgstr "" ": A pattern that specifies a set of character strings.\n" " REs are most often used to find sequences of characters in strings." -#: shell-novice/reference.md:174 +#: shell-novice/reference.md:176 msgid "" "relative path\n" ": A [path](#path) that specifies the location of a file or directory\n" -" with respect to the [current working directory](#current-working-directory).\n" -" Any path that does not begin with a separator character (\"/\" or \"\\\\\") is a relative path.\n" +" with respect to the [current working directory](#current-working-" +"directory).\n" +" Any path that does not begin with a separator character (\"/\" or \"\\\\" +"\") is a relative path.\n" " See also: [absolute path](#absolute-path)." msgstr "" "relative path\n" ": A [path](#path) that specifies the location of a file or directory\n" -" with respect to the [current working directory](#current-working-directory).\n" -" Any path that does not begin with a separator character (\"/\" or \"\\\\\") is a relative path.\n" +" with respect to the [current working directory](#current-working-" +"directory).\n" +" Any path that does not begin with a separator character (\"/\" or \"\\\\" +"\") is a relative path.\n" " See also: [absolute path](#absolute-path)." -#: shell-novice/reference.md:180 +#: shell-novice/reference.md:182 msgid "" "root directory\n" ": The top-most directory in a [file system](#file-system).\n" -" Its name is \"/\" on Unix (including Linux and Mac OS X) and \"\\\\\" on Microsoft Windows." +" Its name is \"/\" on Unix (including Linux and Mac OS X) and \"\\\\\" on " +"Microsoft Windows." msgstr "" "root directory\n" ": The top-most directory in a [file system](#file-system).\n" -" Its name is \"/\" on Unix (including Linux and Mac OS X) and \"\\\\\" on Microsoft Windows." +" Its name is \"/\" on Unix (including Linux and Mac OS X) and \"\\\\\" on " +"Microsoft Windows." -#: shell-novice/reference.md:184 +#: shell-novice/reference.md:186 msgid "" "shell\n" ": A [command-line interface](#cli) such as Bash (the Bourne-Again Shell)\n" " or the Microsoft Windows DOS shell\n" -" that allows a user to interact with the [operating system](#operating-system)." +" that allows a user to interact with the [operating system](#operating-" +"system)." msgstr "" "shell\n" ": A [command-line interface](#cli) such as Bash (the Bourne-Again Shell)\n" " or the Microsoft Windows DOS shell\n" -" that allows a user to interact with the [operating system](#operating-system)." +" that allows a user to interact with the [operating system](#operating-" +"system)." -#: shell-novice/reference.md:189 +#: shell-novice/reference.md:191 msgid "" "shell script\n" ": A set of [shell](#shell) commands stored in a file for re-use.\n" @@ -12723,39 +13880,43 @@ msgstr "" " A shell script is a program executed by the shell;\n" " the name \"script\" is used for historical reasons." -#: shell-novice/reference.md:195 +#: shell-novice/reference.md:197 msgid "" "standard input\n" ": A process's default input stream.\n" " In interactive command-line applications,\n" " it is typically connected to the keyboard;\n" " in a [pipe](#pipe),\n" -" it receives data from the [standard output](#standard-output) of the preceding process." +" it receives data from the [standard output](#standard-output) of the " +"preceding process." msgstr "" "standard input\n" ": A process's default input stream.\n" " In interactive command-line applications,\n" " it is typically connected to the keyboard;\n" " in a [pipe](#pipe),\n" -" it receives data from the [standard output](#standard-output) of the preceding process." +" it receives data from the [standard output](#standard-output) of the " +"preceding process." -#: shell-novice/reference.md:203 +#: shell-novice/reference.md:205 msgid "" "standard output\n" ": A process's default output stream.\n" " In interactive command-line applications,\n" " data sent to standard output is displayed on the screen;\n" " in a [pipe](#pipe),\n" -" it is passed to the [standard input](#standard-input) of the next process." +" it is passed to the [standard input](#standard-input) of the next " +"process." msgstr "" "standard output\n" ": A process's default output stream.\n" " In interactive command-line applications,\n" " data sent to standard output is displayed on the screen;\n" " in a [pipe](#pipe),\n" -" it is passed to the [standard input](#standard-input) of the next process." +" it is passed to the [standard input](#standard-input) of the next " +"process." -#: shell-novice/reference.md:211 +#: shell-novice/reference.md:213 msgid "" "sub-directory\n" ": A directory contained within another directory." @@ -12763,25 +13924,29 @@ msgstr "" "sub-directory\n" ": A directory contained within another directory." -#: shell-novice/reference.md:214 +#: shell-novice/reference.md:216 msgid "" "tab completion\n" ": A feature provided by many interactive systems in which\n" -" pressing the Tab key triggers automatic completion of the current word or command." +" pressing the Tab key triggers automatic completion of the current word " +"or command." msgstr "" "tab completion\n" ": A feature provided by many interactive systems in which\n" -" pressing the Tab key triggers automatic completion of the current word or command." +" pressing the Tab key triggers automatic completion of the current word " +"or command." -#: shell-novice/reference.md:218 +#: shell-novice/reference.md:220 msgid "" "variable\n" -": A name in a program that is associated with a value or a collection of values." +": A name in a program that is associated with a value or a collection of " +"values." msgstr "" "variable\n" -": A name in a program that is associated with a value or a collection of values." +": A name in a program that is associated with a value or a collection of " +"values." -#: shell-novice/reference.md:221 +#: shell-novice/reference.md:223 msgid "" "while loop\n" ": A loop that keeps executing as long as some condition is true.\n" @@ -12791,7 +13956,7 @@ msgstr "" ": A loop that keeps executing as long as some condition is true.\n" " See also: [for loop](#for-loop)." -#: shell-novice/reference.md:225 +#: shell-novice/reference.md:227 msgid "" "wildcard\n" ": A character used in pattern matching.\n" @@ -12806,92 +13971,127 @@ msgstr "" " so that `*.txt` matches all files whose names end in `.txt`." # header -#: shell-novice/reference.md:231 +#: shell-novice/reference.md:233 msgid "## External references" msgstr "## External references" # header -#: shell-novice/reference.md:233 +#: shell-novice/reference.md:235 msgid "### Opening a terminal" msgstr "### Opening a terminal" # unordered list -#: shell-novice/reference.md:234 -msgid "* [How to Use Terminal on a Mac](http://www.macworld.co.uk/feature/mac-software/how-use-terminal-on-mac-3608274/)" -msgstr "* [How to Use Terminal on a Mac](http://www.macworld.co.uk/feature/mac-software/how-use-terminal-on-mac-3608274/)" +#: shell-novice/reference.md:236 +msgid "" +"* [How to Use Terminal on a Mac](http://www.macworld.co.uk/feature/mac-" +"software/how-use-terminal-on-mac-3608274/)" +msgstr "" +"* [How to Use Terminal on a Mac](http://www.macworld.co.uk/feature/mac-" +"software/how-use-terminal-on-mac-3608274/)" # unordered list -#: shell-novice/reference.md:235 +#: shell-novice/reference.md:237 msgid "* [Git for Windows](https://git-for-windows.github.io/)" msgstr "* [Git for Windows](https://git-for-windows.github.io/)" # unordered list -#: shell-novice/reference.md:236 -msgid "* [How to Install Bash shell command-line tool on Windows 10](https://www.windowscentral.com/how-install-bash-shell-command-line-windows-10)" -msgstr "* [How to Install Bash shell command-line tool on Windows 10](https://www.windowscentral.com/how-install-bash-shell-command-line-windows-10)" +#: shell-novice/reference.md:238 +msgid "" +"* [How to Install Bash shell command-line tool on Windows 10](https://www." +"windowscentral.com/how-install-bash-shell-command-line-windows-10)" +msgstr "" +"* [How to Install Bash shell command-line tool on Windows 10](https://www." +"windowscentral.com/how-install-bash-shell-command-line-windows-10)" # unordered list -#: shell-novice/reference.md:237 -msgid "* [Install and Use the Linux Bash Shell on Windows 10](https://www.howtogeek.com/249966/how-to-install-and-use-the-linux-bash-shell-on-windows-10/)" -msgstr "* [Install and Use the Linux Bash Shell on Windows 10](https://www.howtogeek.com/249966/how-to-install-and-use-the-linux-bash-shell-on-windows-10/)" +#: shell-novice/reference.md:239 +msgid "" +"* [Install and Use the Linux Bash Shell on Windows 10](https://www.howtogeek." +"com/249966/how-to-install-and-use-the-linux-bash-shell-on-windows-10/)" +msgstr "" +"* [Install and Use the Linux Bash Shell on Windows 10](https://www.howtogeek." +"com/249966/how-to-install-and-use-the-linux-bash-shell-on-windows-10/)" # unordered list -#: shell-novice/reference.md:238 -msgid "* [Using the Windows 10 Bash Shell](https://www.howtogeek.com/265900/everything-you-can-do-with-windows-10s-new-bash-shell/)" -msgstr "* [Using the Windows 10 Bash Shell](https://www.howtogeek.com/265900/everything-you-can-do-with-windows-10s-new-bash-shell/)" +#: shell-novice/reference.md:240 +msgid "" +"* [Using the Windows 10 Bash Shell](https://www.howtogeek.com/265900/" +"everything-you-can-do-with-windows-10s-new-bash-shell/)" +msgstr "" +"* [Using the Windows 10 Bash Shell](https://www.howtogeek.com/265900/" +"everything-you-can-do-with-windows-10s-new-bash-shell/)" # unordered list -#: shell-novice/reference.md:239 -msgid "* [Using a UNIX/Linux emulator (Cygwin) or Secure Shell (SSH) client (Putty)](http://faculty.smu.edu/reynolds/unixtut/windows.html)" -msgstr "* [Using a UNIX/Linux emulator (Cygwin) or Secure Shell (SSH) client (Putty)](http://faculty.smu.edu/reynolds/unixtut/windows.html)" +#: shell-novice/reference.md:241 +msgid "" +"* [Using a UNIX/Linux emulator (Cygwin) or Secure Shell (SSH) client (Putty)]" +"(http://faculty.smu.edu/reynolds/unixtut/windows.html)" +msgstr "" +"* [Using a UNIX/Linux emulator (Cygwin) or Secure Shell (SSH) client (Putty)]" +"(http://faculty.smu.edu/reynolds/unixtut/windows.html)" # header -#: shell-novice/reference.md:241 +#: shell-novice/reference.md:243 msgid "### Manuals" msgstr "### Manuals" # unordered list -#: shell-novice/reference.md:242 +#: shell-novice/reference.md:244 msgid "* [GNU manuals](http://www.gnu.org/manual/manual.html)" msgstr "* [GNU manuals](http://www.gnu.org/manual/manual.html)" # unordered list -#: shell-novice/reference.md:243 -msgid "* [Core GNU utilities](http://www.gnu.org/software/coreutils/manual/coreutils.html)" -msgstr "* [Core GNU utilities](http://www.gnu.org/software/coreutils/manual/coreutils.html)" +#: shell-novice/reference.md:245 +msgid "" +"* [Core GNU utilities](http://www.gnu.org/software/coreutils/manual/" +"coreutils.html)" +msgstr "" +"* [Core GNU utilities](http://www.gnu.org/software/coreutils/manual/" +"coreutils.html)" # header -#: shell-novice/reference.md:245 +#: shell-novice/reference.md:247 msgid "### Miscellaneous" msgstr "### Miscellaneous" # unordered list -#: shell-novice/reference.md:246 +#: shell-novice/reference.md:248 msgid "* [North Pacific Gyre](http://en.wikipedia.org/wiki/North_Pacific_Gyre)" -msgstr "* [North Pacific Gyre](http://en.wikipedia.org/wiki/North_Pacific_Gyre)" +msgstr "" +"* [North Pacific Gyre](http://en.wikipedia.org/wiki/North_Pacific_Gyre)" # unordered list -#: shell-novice/reference.md:247 -msgid "* [Great Pacific Garbage Patch](http://en.wikipedia.org/wiki/Great_Pacific_Garbage_Patch)" -msgstr "* [Great Pacific Garbage Patch](http://en.wikipedia.org/wiki/Great_Pacific_Garbage_Patch)" +#: shell-novice/reference.md:249 +msgid "" +"* [Great Pacific Garbage Patch](http://en.wikipedia.org/wiki/" +"Great_Pacific_Garbage_Patch)" +msgstr "" +"* [Great Pacific Garbage Patch](http://en.wikipedia.org/wiki/" +"Great_Pacific_Garbage_Patch)" # unordered list -#: shell-novice/reference.md:248 -msgid "* ['Ensuring the longevity of digital information' by Jeff Rothenberg](http://www.clir.org/pubs/archives/ensuring.pdf)" -msgstr "* ['Ensuring the longevity of digital information' by Jeff Rothenberg](http://www.clir.org/pubs/archives/ensuring.pdf)" +#: shell-novice/reference.md:250 +msgid "" +"* ['Ensuring the longevity of digital information' by Jeff Rothenberg]" +"(http://www.clir.org/pubs/archives/ensuring.pdf)" +msgstr "" +"* ['Ensuring the longevity of digital information' by Jeff Rothenberg]" +"(http://www.clir.org/pubs/archives/ensuring.pdf)" # unordered list -#: shell-novice/reference.md:249 +#: shell-novice/reference.md:251 msgid "* [Computer error haikus](http://wiki.c2.com/?ComputerErrorHaiku)" msgstr "* [Computer error haikus](http://wiki.c2.com/?ComputerErrorHaiku)" # Front Matter #: shell-novice/setup.md:1 +#, fuzzy msgid "" "---\n" "layout: page\n" "title: Setup\n" -"root: .\n" +"root: ..\n" +"permalink: /setup/\n" "---" msgstr "" "---\n" @@ -12900,131 +14100,279 @@ msgstr "" "root: .\n" "---" -#: shell-novice/setup.md:7 +#: shell-novice/setup.md:8 msgid "You need to download some files to follow this lesson:" msgstr "You need to download some files to follow this lesson:" -# ordered list -#: shell-novice/setup.md:9 -msgid "1. Download [data-shell.zip]({{ page.root }}/data/data-shell.zip) and move the file to your Desktop." -msgstr "1. Download [data-shell.zip]({{ page.root }}/data/data-shell.zip) and move the file to your Desktop." - # ordered list #: shell-novice/setup.md:10 -msgid "2. Unzip/extract the file (ask your instructor if you need help with this step). You should end up with a new folder called **data-shell** on your Desktop." -msgstr "2. Unzip/extract the file (ask your instructor if you need help with this step). You should end up with a new folder called **data-shell** on your Desktop." +msgid "" +"1. Download [data-shell.zip]({{ page.root }}/data/data-shell.zip) and move " +"the file to your Desktop." +msgstr "" +"1. Download [data-shell.zip]({{ page.root }}/data/data-shell.zip) and move " +"the file to your Desktop." # ordered list #: shell-novice/setup.md:11 -msgid "3. Open a terminal and type `cd`, then press the Enter key. That last step will make sure you start with your home folder as your working directory." -msgstr "3. Open a terminal and type `cd`, then press the Enter key. That last step will make sure you start with your home folder as your working directory." +msgid "" +"2. Unzip/extract the file (ask your instructor if you need help with this " +"step). You should end up with a new folder called **data-shell** on your " +"Desktop." +msgstr "" +"2. Unzip/extract the file (ask your instructor if you need help with this " +"step). You should end up with a new folder called **data-shell** on your " +"Desktop." -#: shell-novice/setup.md:13 -msgid "In the lesson, you will find out how to access the data in this folder. " -msgstr "In the lesson, you will find out how to access the data in this folder. " +# ordered list +#: shell-novice/setup.md:12 +msgid "" +"3. Open a terminal and type `cd`, then press the Enter key. That last step " +"will make sure you start with your home folder as your working directory." +msgstr "" +"3. Open a terminal and type `cd`, then press the Enter key. That last step " +"will make sure you start with your home folder as your working directory." + +#: shell-novice/setup.md:14 +msgid "" +"In the lesson, you will find out how to access the data in this folder. " +msgstr "" +"In the lesson, you will find out how to access the data in this folder. " # blockquote, which can be cascaded -#: shell-novice/setup.md:15 +#: shell-novice/setup.md:16 msgid "> ## Where to type commands: How to open a new shell" msgstr "> ## Where to type commands: How to open a new shell" # blockquote, which can be cascaded -#: shell-novice/setup.md:16 -msgid "> The `shell` is a program that enables us to send commands to the computer and receive output. It is also referred to as the `terminal` or `command line`." -msgstr "> The `shell` is a program that enables us to send commands to the computer and receive output. It is also referred to as the `terminal` or `command line`." - #: shell-novice/setup.md:17 msgid "" +"> The `shell` is a program that enables us to send commands to the computer " +"and receive output. It is also referred to as the `terminal` or `command " +"line`." +msgstr "" +"> The `shell` is a program that enables us to send commands to the computer " +"and receive output. It is also referred to as the `terminal` or `command " +"line`." + +#: shell-novice/setup.md:18 +msgid "" ">\n" "> Some computers include a default Unix Shell program. \n" -"> The steps below describe some methods for identifying and opening a Unix Shell program if you already have one installed. \n" -"> There are also options for identifying and downloading a Unix Shell program, a Linux/UNIX emulator, or a program to access a UNIX server. \n" +"> The steps below describe some methods for identifying and opening a Unix " +"Shell program if you already have one installed. \n" +"> There are also options for identifying and downloading a Unix Shell " +"program, a Linux/UNIX emulator, or a program to access a UNIX server. \n" ">\n" -"> If none of the options below address your circumstances, try an online search for: UNIX shell [your computer model] [your operating system].\n" +"> If none of the options below address your circumstances, try an online " +"search for: UNIX shell [your computer model] [your operating system].\n" ">\n" "> ### Linux\n" "> The default shell for Linux operating systems is usually Bash.\n" -"> On most versions of Linux, it is accessible by running the Terminal program,\n" +"> On most versions of Linux, it is accessible by running the Terminal " +"program,\n" "> which can be found via the applications menu or the search bar. \n" -"> If your machine is set up to use something other than bash, you can run it by opening a terminal and typing `bash`.\n" +"> If your machine is set up to use something other than bash, you can run it " +"by opening a terminal and typing `bash`.\n" ">\n" "> ### Mac OS\n" "> For a Mac computer, the default Unix Shell is Bash,\n" -"> and it is available via the Terminal Utilities program within your Applications folder.\n" +"> and it is available via the Terminal Utilities program within your " +"Applications folder.\n" ">\n" "> To open Terminal, try one or both of the following:\n" -"> * Go to your Applications. Within Applications, open the Utilities folder. Locate Terminal in the Utilities folder and open it.\n" -"> * Use the Mac ‘Spotlight’ computer search function. Search for: Terminal and press [Enter] - this will open Terminal.\n" +"> * Go to your Applications. Within Applications, open the Utilities folder. " +"Locate Terminal in the Utilities folder and open it.\n" +"> * Use the Mac ‘Spotlight’ computer search function. Search for: Terminal " +"and press [Enter] - this will open Terminal.\n" ">\n" "> #### Reference \n" -"> [How to Use Terminal on a Mac](http://www.macworld.co.uk/feature/mac-software/how-use-terminal-on-mac-3608274/)\n" +"> [How to Use Terminal on a Mac](http://www.macworld.co.uk/feature/mac-" +"software/how-use-terminal-on-mac-3608274/)\n" ">\n" "> ### Windows\n" -"> Computers with Windows operating systems do not automatically have a Unix Shell program installed.\n" -"> In this lesson, we encourage you to use an emulator included in Git for Windows, \n" +"> Computers with Windows operating systems do not automatically have a Unix " +"Shell program installed.\n" +"> In this lesson, we encourage you to use an emulator included in Git for " +"Windows, \n" "> which gives you access to both Bash shell commands and Git. \n" -"> If you are attending a SWC session, it is likely you have already received instructions on how to install Git for Windows.\n" +"> If you are attending a SWC session, it is likely you have already received " +"instructions on how to install Git for Windows.\n" ">\n" -"> Once installed, you can open a terminal by running the program Git Bash from the Windows start menu.\n" +"> Once installed, you can open a terminal by running the program Git Bash " +"from the Windows start menu.\n" ">\n" -"> Other solutions are available for running Bash commands on Windows systems. \n" +"> Other solutions are available for running Bash commands on Windows " +"systems. \n" "> There is now a Bash shell command-line tool available for Windows 10. \n" -"> Additionally, you can run Bash commands on a remote UNIX computer or server from your Windows machine. \n" +"> Additionally, you can run Bash commands on a remote UNIX computer or " +"server from your Windows machine. \n" "> This can be done through a Secure Shell (SSH) client. \n" "> One such client available for free for Windows computers is PuTTY. \n" "> See the reference below for information on installing and using PuTTY, \n" -"> using the Windows 10 command-line tool, or installing and using a UNIX/Linux emulator.\n" +"> using the Windows 10 command-line tool, or installing and using a UNIX/" +"Linux emulator.\n" ">\n" "> #### Reference\n" "> * [Git for Windows](https://git-for-windows.github.io/)\n" -"> * [How to Install Bash shell command-line tool on Windows 10](https://www.windowscentral.com/how-install-bash-shell-command-line-windows-10)\n" -"> * [Install and Use the Linux Bash Shell on Windows 10](https://www.howtogeek.com/249966/how-to-install-and-use-the-linux-bash-shell-on-windows-10/)\n" -"> * [Using the Windows 10 Bash Shell](https://www.howtogeek.com/265900/everything-you-can-do-with-windows-10s-new-bash-shell/)\n" -"> * [Using a UNIX/Linux emulator (Cygwin) or Secure Shell (SSH) client (Putty)](http://faculty.smu.edu/reynolds/unixtut/windows.html)" +"> * [How to Install Bash shell command-line tool on Windows 10](https://www." +"windowscentral.com/how-install-bash-shell-command-line-windows-10)\n" +"> * [Install and Use the Linux Bash Shell on Windows 10](https://www." +"howtogeek.com/249966/how-to-install-and-use-the-linux-bash-shell-on-" +"windows-10/)\n" +"> * [Using the Windows 10 Bash Shell](https://www.howtogeek.com/265900/" +"everything-you-can-do-with-windows-10s-new-bash-shell/)\n" +"> * [Using a UNIX/Linux emulator (Cygwin) or Secure Shell (SSH) client " +"(Putty)](http://faculty.smu.edu/reynolds/unixtut/windows.html)" msgstr "" ">\n" "> Some computers include a default Unix Shell program. \n" -"> The steps below describe some methods for identifying and opening a Unix Shell program if you already have one installed. \n" -"> There are also options for identifying and downloading a Unix Shell program, a Linux/UNIX emulator, or a program to access a UNIX server. \n" +"> The steps below describe some methods for identifying and opening a Unix " +"Shell program if you already have one installed. \n" +"> There are also options for identifying and downloading a Unix Shell " +"program, a Linux/UNIX emulator, or a program to access a UNIX server. \n" ">\n" -"> If none of the options below address your circumstances, try an online search for: UNIX shell [your computer model] [your operating system].\n" +"> If none of the options below address your circumstances, try an online " +"search for: UNIX shell [your computer model] [your operating system].\n" ">\n" "> ### Linux\n" "> The default shell for Linux operating systems is usually Bash.\n" -"> On most versions of Linux, it is accessible by running the Terminal program,\n" +"> On most versions of Linux, it is accessible by running the Terminal " +"program,\n" "> which can be found via the applications menu or the search bar. \n" -"> If your machine is set up to use something other than bash, you can run it by opening a terminal and typing `bash`.\n" +"> If your machine is set up to use something other than bash, you can run it " +"by opening a terminal and typing `bash`.\n" ">\n" "> ### Mac OS\n" "> For a Mac computer, the default Unix Shell is Bash,\n" -"> and it is available via the Terminal Utilities program within your Applications folder.\n" +"> and it is available via the Terminal Utilities program within your " +"Applications folder.\n" ">\n" "> To open Terminal, try one or both of the following:\n" -"> * Go to your Applications. Within Applications, open the Utilities folder. Locate Terminal in the Utilities folder and open it.\n" -"> * Use the Mac ‘Spotlight’ computer search function. Search for: Terminal and press [Enter] - this will open Terminal.\n" +"> * Go to your Applications. Within Applications, open the Utilities folder. " +"Locate Terminal in the Utilities folder and open it.\n" +"> * Use the Mac ‘Spotlight’ computer search function. Search for: Terminal " +"and press [Enter] - this will open Terminal.\n" ">\n" "> #### Reference \n" -"> [How to Use Terminal on a Mac](http://www.macworld.co.uk/feature/mac-software/how-use-terminal-on-mac-3608274/)\n" +"> [How to Use Terminal on a Mac](http://www.macworld.co.uk/feature/mac-" +"software/how-use-terminal-on-mac-3608274/)\n" ">\n" "> ### Windows\n" -"> Computers with Windows operating systems do not automatically have a Unix Shell program installed.\n" -"> In this lesson, we encourage you to use an emulator included in Git for Windows, \n" +"> Computers with Windows operating systems do not automatically have a Unix " +"Shell program installed.\n" +"> In this lesson, we encourage you to use an emulator included in Git for " +"Windows, \n" "> which gives you access to both Bash shell commands and Git. \n" -"> If you are attending a SWC session, it is likely you have already received instructions on how to install Git for Windows.\n" +"> If you are attending a SWC session, it is likely you have already received " +"instructions on how to install Git for Windows.\n" ">\n" -"> Once installed, you can open a terminal by running the program Git Bash from the Windows start menu.\n" +"> Once installed, you can open a terminal by running the program Git Bash " +"from the Windows start menu.\n" ">\n" -"> Other solutions are available for running Bash commands on Windows systems. \n" +"> Other solutions are available for running Bash commands on Windows " +"systems. \n" "> There is now a Bash shell command-line tool available for Windows 10. \n" -"> Additionally, you can run Bash commands on a remote UNIX computer or server from your Windows machine. \n" +"> Additionally, you can run Bash commands on a remote UNIX computer or " +"server from your Windows machine. \n" "> This can be done through a Secure Shell (SSH) client. \n" "> One such client available for free for Windows computers is PuTTY. \n" "> See the reference below for information on installing and using PuTTY, \n" -"> using the Windows 10 command-line tool, or installing and using a UNIX/Linux emulator.\n" +"> using the Windows 10 command-line tool, or installing and using a UNIX/" +"Linux emulator.\n" ">\n" "> #### Reference\n" "> * [Git for Windows](https://git-for-windows.github.io/)\n" -"> * [How to Install Bash shell command-line tool on Windows 10](https://www.windowscentral.com/how-install-bash-shell-command-line-windows-10)\n" -"> * [Install and Use the Linux Bash Shell on Windows 10](https://www.howtogeek.com/249966/how-to-install-and-use-the-linux-bash-shell-on-windows-10/)\n" -"> * [Using the Windows 10 Bash Shell](https://www.howtogeek.com/265900/everything-you-can-do-with-windows-10s-new-bash-shell/)\n" -"> * [Using a UNIX/Linux emulator (Cygwin) or Secure Shell (SSH) client (Putty)](http://faculty.smu.edu/reynolds/unixtut/windows.html)" +"> * [How to Install Bash shell command-line tool on Windows 10](https://www." +"windowscentral.com/how-install-bash-shell-command-line-windows-10)\n" +"> * [Install and Use the Linux Bash Shell on Windows 10](https://www." +"howtogeek.com/249966/how-to-install-and-use-the-linux-bash-shell-on-" +"windows-10/)\n" +"> * [Using the Windows 10 Bash Shell](https://www.howtogeek.com/265900/" +"everything-you-can-do-with-windows-10s-new-bash-shell/)\n" +"> * [Using a UNIX/Linux emulator (Cygwin) or Secure Shell (SSH) client " +"(Putty)](http://faculty.smu.edu/reynolds/unixtut/windows.html)" + +#~ msgid "" +#~ "As contributors and maintainers of this project,\n" +#~ "we pledge to respect all people who contribute through reporting issues,\n" +#~ "posting feature requests,\n" +#~ "updating documentation,\n" +#~ "submitting pull requests or patches,\n" +#~ "and other activities." +#~ msgstr "" +#~ "As contributors and maintainers of this project,\n" +#~ "we pledge to respect all people who contribute through reporting issues,\n" +#~ "posting feature requests,\n" +#~ "updating documentation,\n" +#~ "submitting pull requests or patches,\n" +#~ "and other activities." + +#~ msgid "" +#~ "We are committed to making participation in this project a harassment-" +#~ "free experience for everyone,\n" +#~ "regardless of level of experience,\n" +#~ "gender,\n" +#~ "gender identity and expression,\n" +#~ "sexual orientation,\n" +#~ "disability,\n" +#~ "personal appearance,\n" +#~ "body size,\n" +#~ "race,\n" +#~ "ethnicity,\n" +#~ "age,\n" +#~ "or religion." +#~ msgstr "" +#~ "We are committed to making participation in this project a harassment-" +#~ "free experience for everyone,\n" +#~ "regardless of level of experience,\n" +#~ "gender,\n" +#~ "gender identity and expression,\n" +#~ "sexual orientation,\n" +#~ "disability,\n" +#~ "personal appearance,\n" +#~ "body size,\n" +#~ "race,\n" +#~ "ethnicity,\n" +#~ "age,\n" +#~ "or religion." + +#~ msgid "" +#~ "Examples of unacceptable behavior by participants include the use of " +#~ "sexual language or imagery,\n" +#~ "derogatory comments or personal attacks,\n" +#~ "trolling,\n" +#~ "public or private harassment,\n" +#~ "insults,\n" +#~ "or other unprofessional conduct." +#~ msgstr "" +#~ "Examples of unacceptable behavior by participants include the use of " +#~ "sexual language or imagery,\n" +#~ "derogatory comments or personal attacks,\n" +#~ "trolling,\n" +#~ "public or private harassment,\n" +#~ "insults,\n" +#~ "or other unprofessional conduct." + +#~ msgid "" +#~ "Project maintainers have the right and responsibility to remove, edit, or " +#~ "reject\n" +#~ "comments, commits, code, wiki edits, issues, and other contributions\n" +#~ "that are not aligned to our [Code of Conduct][coc].\n" +#~ "Project maintainers who do not follow the Code of Conduct may be removed " +#~ "from the project team." +#~ msgstr "" +#~ "Project maintainers have the right and responsibility to remove, edit, or " +#~ "reject\n" +#~ "comments, commits, code, wiki edits, issues, and other contributions\n" +#~ "that are not aligned to our [Code of Conduct][coc].\n" +#~ "Project maintainers who do not follow the Code of Conduct may be removed " +#~ "from the project team." + +# unordered list +#~ msgid "- [Software and Data Carpentry Code of Conduct][coc]" +#~ msgstr "- [Software and Data Carpentry Code of Conduct][coc]" + +# unordered list +#~ msgid "- [Code of Conduct Reporting Guide][coc-reporting]" +#~ msgstr "- [Code of Conduct Reporting Guide][coc-reporting]"